Funkcje wyższego rzędu i ST

Gram zhttp://hackage.haskell.org/packages/archive/vault/0.2.0.0/doc/html/Data-Vault-ST.html i chcesz napisać funkcje takie jak:

onVault  f = runST (f <
onVault  f = runST (f <$> Vault.newKey)
onVault2 f = runST (f <$> Vault.newKey <*> Vault.newKey)
gt; Vault.newKey) onVault2 f = runST (f <
onVault  f = runST (f <$> Vault.newKey)
onVault2 f = runST (f <$> Vault.newKey <*> Vault.newKey)
gt; Vault.newKey <*> Vault.newKey)

itd. Jeśli zastąpię te funkcje tymi, które nie przyjmują argumentów i wywołują określoną funkcję zamiast f, to działa, ale te funkcje wyższego rzędu nie będą wpisywać sprawdzenia.

Co się dzieje i czy mogę to naprawić?

questionAnswers(1)

yourAnswerToTheQuestion