Oops, disregard that. Other responses didn't show up for some reason.

On Tue, Dec 1, 2015 at 2:34 PM, William Yager <will.yager@gmail.com> wrote:
Shouldn't that be "throwError", not "fail"?

--Will

On 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 -XFlexibleContexts
    Prelude> import Control.Monad.Except
    Prelude 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>