Îõ³h$ f -      !"#$%&'()*+,None 567>ÀÁÂÎÙè Á error-or.Convert between functors that hold error info.error-orA wrapper over í to provide human readable exceptions. (Exception class' displayException does not seem to be used by GHC) Ûhttps://stackoverflow.com/questions/55490766/why-doesn-t-ghc-use-my-displayexception-method error-orUse -'s . and  sequenceA_ to compose  s as opposed to / derived functions like 0.error-orProduce an error from Text. You can also use 1, which takes a 2.error-or,Annotate the error with context information.error-or$Tag an exception with an annotation.$It acts on two types of exceptions: 3 and . For % it is streightforward tagging. For 3Î, otoh, it converts the error message into Text via String and turns it into " tagged with provided adnotation.ÆThis is rather a convenience function. Sometimes it is convenient to  fail "msg"> in IO, and tag it higher up with some context. The need for  often comes with Ö (from error-or-utils package) when used from IO, which is overloaded for MonadFail.Since ver 0.1.1.0error-orPretty print the error.error-orA partial function, like  fromRight.error-orOrError's instances for / and - don't align, but the / and 4ó instances are too useful (as in convenient) to pass on. In particular, composing two failing actions using the - instance creates a  composite; error, where as composing the same two actions using the / instance 5š produces only the error from the first action in the sequence. This is a consequence of the fact that for Monads executing the second of two actions (5 is defined in terms of 6ƒ) requires the result from the first to be passed to the second: the very result that is not available if the first action fails!error-orConvert from `Either e`, 7 becomese error. error-or3Convert from 'Maybe a' to 'ErrorOr a'. It converts 8 simply to an error with msg Nothing.!error-orConvert from ErrorOr to IO.  throws a  if the input holds an error.error-orInitial indent, usually 0    Safe-Inferred 9:;<=>?@Á       !"#$%&'()*+,-./0120340150360780190:;07<01=01>0?@0ABCDEFGHIJË%error-or-0.2.0.0-JG0UB1B59N5eMelLSUj2 Data.ErrorOrData.ErrorOr.UtilslookupPaths_error_or ErrorConvtoE PrettyErrAccunPrettyErrAccErrorAcc ErrMessageErrListErrTagErrorOrerrorOrToEitherErrorOKfailTexttagtagIO prettyErrAccisOKisErrorfromOK$fSemigroupErrorAcc$fIsStringErrorAcc$fMonadErrorErrorAccErrorOr$fMonadFailErrorOr$fMonadErrorOr$fMonoidErrorOr$fSemigroupErrorOr$fApplicativeErrorOr$fExceptionPrettyErrAcc$fShowPrettyErrAcc$fErrorConvEitherErrorOr$fErrorConvMaybeErrorOr$fErrorConvErrorOrIO $fShowErrorOr $fReadErrorOr $fEqErrorOr $fOrdErrorOr$fFunctorErrorOr$fFoldableErrorOr$fTraversableErrorOr$fShowErrorAcc$fReadErrorAcc $fEqErrorAcc $fOrdErrorAccbaseGHC.Base ApplicativeData.Traversable sequenceAMonadsequenceControl.Monad.FailfailStringGHC.IO.Exception IOException MonadFail>>>>= Data.EitherLeft GHC.MaybeNothingversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName