1)4      !"#$%&'()*+,-./0123 Safe-Infered $ converted into a monad transformer If " Either e r" is the error monad, then " EitherR r e" is the ( corresponding success monad, where:  4 is .  (5) is . * Successful results abort the computation ,Complete error handling, returning a result # in the error monad corresponds to 4 in the success monad $ in the error monad corresponds to (5) in the success monad  with the arguments flipped Map a function over the 6 value of an 7  The dual to 8 and synonymous with   ,Complete error handling, returning a result  # in the error monad corresponds to 4 in the success monad $ in the error monad corresponds to (5) in the success monad  with the arguments flipped Map a function over the 6 value of an 9  :;<=>?@    :;<=>?@ Safe-Infered Suppress the 6 value of an 7  Suppress the 6 value of an 9 Tag the A value of a B Tag the A value of a C Lift a B to the C monad Lift an 7 to the 9 monad  Safe-InferedA D that fails in the 7 monad An E that fails in the 7 monad A F that fails in the 7 monad A G that fails in the 7 monad A H that fails in the 7 monad A I that fails in the 7 monad A J that fails in the 7 monad A K that fails in the 7 monad A foldl1' that fails in the 7 monad A (L) that fails in the 7 monad !A M that fails in the 7 monad "An assertion that fails in the 7 monad #A D that fails in the 9 monad $An E that fails in the 9 monad %A F that fails in the 9 monad &A G that fails in the 9 monad 'A H that fails in the 9 monad (A I that fails in the 9 monad )A J that fails in the 9 monad *A K that fails in the 9 monad +A foldl1' that fails in the 9 monad ,A (L) that fails in the 9 monad -A M that fails in the 9 monad .An assertion that fails in the 9 monad  !"#$%&'()*+,-. !"#$%&'()*+,-. !"#$%&'()*+,-. !"#$%&'()*+,-. Safe-Infered/An N action that can fail with a O error message 0 Runs the / monad Prints the first error to P and exits with Q 1A B that fails in the / monad 2An 7 that fails in the / monad 33 is like lift', except it converts exceptions to the / monad /0123/0123/0123/0123 Safe-Infered76R8ST9UVWXYZ[\]^_`aAbBcdefghijklmnopqrstuvwxyz{|}~C  !"#$%&'()*+,-./0123      !"#$%&'()*+,-./0123456789:89;8<=8<>?@A?@BCDEFGHI8JK8JLMNO8PQ8PR8PS8PT8UV8UW8PX8UY8PZ8[\]^_89`8ab8cd8<e?@f?@B8<g8<h8<i8<j8Jk8Jl8Jm8Jn8Jo8Jp8Jq8Jr8Js8Jtuvwuvxuvyuvzuv{uv|uv}uv~uvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvMNMNMNMNMNMNMNO errors-1.0.0 Data.EitherRControl.Error.UtilControl.Error.SafeControl.Error.Script Control.ErrorEitherRT runEitherRTEitherR runEitherRsucceedthrowEcatchEhandleEfmapLrightsucceedTthrowTcatchThandleTfmapLThushhushTnotenoteT liftMaybe liftEithertailErrinitErrheadErrlastErr minimumErr maximumErr foldr1Err foldl1Err foldl1Err'atErrreadErr assertErrtryTailtryInittryHeadtryLast tryMinimum tryMaximum tryFoldr1 tryFoldl1 tryFoldl1'tryAttryRead tryAssertScript runScripttryMaybe tryEithertryIObaseGHC.Basereturn>>= Data.EitherLeftEither EitherT-0.2.0Control.Monad.Trans.EitherleftEitherT$fMonadTransEitherRT$fMonadEitherRT$fApplicativeEitherRT$fFunctorEitherRT$fMonadEitherR$fApplicativeEitherR$fFunctorEitherR Data.MaybeNothingMaybetransformers-0.3.0.0Control.Monad.Trans.MaybeMaybeTGHC.Listtailinitheadlast Data.Listminimummaximumfoldr1foldl1!! Text.Readreadghc-prim GHC.TypesIOStringGHC.IO.Handle.FDstderr System.Exit exitFailureRight runEitherTpartitionEithersrightsleftseithermapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeJust safe-0.3.3Safeabort findJustNote findJustDeffindJustlookupJustNote lookupJustDef lookupJustreadNotereadMayreadDefatNoteatMayatDefat assertNote fromJustNote fromJustDef foldl1Note' foldl1May' foldl1Def' foldl1Note foldl1May foldl1Def foldr1Note foldr1May foldr1Def maximumNote maximumMay maximumDef minimumNote minimumMay minimumDeflastNotelastMaylastDefheadNoteheadMayheadDefinitSafeinitNoteinitMayinitDeftailSafetailNotetailMaytailDefliftPass liftListen liftCatch liftCallCC mapMaybeT runMaybeT