úÎ! ~€7      !"#$%&'()*+,-./0123456None 4567;MVg ’  either-result'A monad transformer that is similar to 7 except a 8 instance. 8 =  .    either-resultUnwrap  m a. either-resultA result monad. either-resultWrap 9 : a. either-resultUnwrap  a.  either-result7Map the unwrapped computation using the given function.  either-resultSignal an exception.  either-resultHandle an exception.  either-resultLift a callCC operation to the new monad.  either-resultLift a listen operation to the new monad. either-resultLift a pass operation to the new monad.    None%=?Vg % either-resultConstruct and destruct .& either-result& means successes and OKs etc.' either-result' means errors and failures etc.( either-resultWrap  a.) either-resultUnrap  a.* either-resultCase analysis for the ( type.Exampleslet s = Success 0let e = Error "critical"*result ("Bad: " ++) (("OK: " ++) . show) s"OK: 0"*result ("Bad: " ++) (("OK: " ++) . show) e"Bad: critical"+ either-resultConvert ; : a to ( a., either-resultConvert ( a to ; : a.- either-resultConvert ( a to a with a default value.. either-resultConvert ( a to 8 m => m a./ either-resultUnwrap %.0 either-result7Map the unwrapped computation using the given function. %&'()*+,-./0()'&*+,-.%/0 None=>?@AVgŒ5 either-resultLift ; into .C<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkl%&'()*+,-./055%%/0()'&*+,-.NoneVg+ &'()*+,-. ('&)*+,-.m       !"#$%&'()* +,-./01 23456789:;67<9=>9?@9AB9=C9=D9=E9=F9=G9=H9=I9=J9KL9KM9NO9NP9QR9QS9AT9AU9AV9AW9AX9AY9AZ9A[9A\9A]9A^9A_9A`9Aa9Nb9cd9ce9cf9cg9hi9jk9=l9=m9=n9=o9=p9=q9=r9=s9=t9=u9=v6wx6wyz,either-result-0.2.0.0-CJRPI8v50W54nBJM71G0ZxControl.Monad.Result!Control.Monad.Trans.Except.ResultControl.Monad.Trans.ResultDResultData.Either.Result mtl-2.2.2Control.Monad.Error.Class catchError throwError MonadErrorResultT runResultT runResult mapResultTthrowEcatchE liftCallCC liftListenliftPass$fMonadFailResultT$fShow1ResultT$fRead1ResultT $fShowResultT $fReadResultT $fEqResultT $fOrdResultT$fGenericResultT$fFunctorResultT$fFoldableResultT$fTraversableResultT $fEq1ResultT $fOrd1ResultT$fApplicativeResultT$fAlternativeResultT$fMonadResultT$fMonadTransResultT$fMonadFixResultT$fMonadZipResultT$fMonadIOResultT$fMonadPlusResultT$fContravariantResultTSuccessErrorresult fromEithertoEither fromSuccess toMonadFail$fMonoidResultT$fSemigroupResultT liftEither$fMonadError[]ResultTtransformers-0.5.5.0Control.Monad.Trans.ExceptExceptTbaseControl.Monad.Fail MonadFailExceptGHC.BaseString Data.EitherEither Control.MonadguardjoinMonadfail>>=>>returnFunctorfmapControl.Monad.FixMonadFixmfixData.TraversablemapMsequenceControl.Monad.IO.ClassMonadIOliftIOmfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterMforM Data.Foldablemsum sequence_forM_mapM_ Data.Functionfix Data.FunctorvoidapliftM5liftM4liftM3liftM2liftMwhen=<< MonadPlusmzeromplusControl.Monad.Trans.Class MonadTranslift