我正在玩http://hackage.haskell.org/packages/archive/vault/0.2.0.0/doc/html/Data-Vault-ST.html并想编写如下函数:
onVault f = runST (f <$> Vault.newKey)
onVault2 f = runST (f <$> Vault.newKey <*> Vault.newKey)
等等。如果我用不带参数的函数替换这些函数并调用特定函数而不是 f,它可以工作,但这些高阶函数不会进行类型检查。
发生了什么事,我可以解决它吗?