úÎ@0 MPTCs provisionalEdward Kmett <ekmett@gmail.com> Trustworthy is a version of  that does not  require a spurious   instance for the    case.   is a perfectly usable   without such a constraint. ErrorT is ' not the generalization of the current   monad, it is something else. NThis is necessary for both theoretical and practical reasons. For instance an M apomorphism is the generalized anamorphism for this Monad, but it cannot be  written with ErrorT. )In addition to the combinators here, the errors package provides a large 3 number of combinators for working with this type. OGiven a pair of actions, one to perform in case of failure, and one to perform  in case of success, run an  and get back a monadic result.  Analogous to  . Equivalent to  .  Analogous to . Equivalent to . #Map over both failure and success. 8Map the unwrapped computation using the given function.    ( f m) = f ( m) Lift an   into an  ! !"#$%&'   !"#$%&'(     !"#$%&'()*+,-./01 either-3.4.1Control.Monad.Trans.EitherControl.Monad.Trans.ErrorErrorTEitherT runEitherTeitherTleftright bimapEitherT mapEitherT hoistEithertransformers-0.3.0.0Errorbase Data.EitherLeftEitherGHC.BaseMonad mtl-2.1.2Control.Monad.Error.Class throwErrorRightreturn$fTraversableEitherT$fFoldableEitherT$fMonadRandomEitherT$fMonadWritersEitherT$fMonadStatesEitherT$fMonadReaderrEitherT$fMonadContEitherT$fMonadIOEitherT$fMonadTransEitherT$fMonadFixEitherT$fMonadErroreEitherT$fMonadEitherT $fBindEitherT $fAltEitherT$fSemigroupEitherT$fMonadPlusEitherT$fAlternativeEitherT$fApplicativeEitherT$fApplyEitherT$fFunctorEitherT $fOrdEitherT $fEqEitherT $fReadEitherT $fShowEitherT