Shouldn't that be "throwError", not "fail"?--WillOn Tue, Dec 1, 2015 at 12:44 PM, Jeffrey Brown <jeffbrown.the@gmail.com> wrote:I spoke too soon; I'm seeing the same problem with MonadError.Prelude> :set -XFlexibleContextsPrelude> import Control.Monad.ExceptPrelude Control.Monad.Except> let f = (fail "be Left!" :: (MonadError String m) => m ())Loading package transformers-0.4.2.0 ... linking ... done.Loading package mtl-2.2.1 ... linking ... done.Prelude Control.Monad.Except> f :: Either String ()*** Exception: be Left!Prelude Control.Monad.Except>