Почему эта typecheck:
runST $ return $ True
Пока следующее:
runST . return $ True
GHCI жалуется:
Couldn't match expected type `forall s. ST s c0'
with actual type `m0 a0'
Expected type: a0 -> forall s. ST s c0
Actual type: a0 -> m0 a0
In the second argument of `(.)', namely `return'
In the expression: runST . return