[Haskell-cafe] Using MonadError within other Monads