[Haskell-cafe] Is there an escape from MonadState+MonadIO+MonadError monad stack?