I play with http://hackage.haskell.org/packages/archive/vault/0.2.0.0/doc/html/Data-Vault-ST.html and want to write functions like:
onVault f = runST (f <$> Vault.newKey) onVault2 f = runST (f <$> Vault.newKey <*> Vault.newKey)
etc .. If I replace these functions with those that take no arguments and call a specific function instead of f, it works, but these higher-order functions will not introduce validation.
What is happening and can I fix it?
source share