Îõ³h*¢     1.0.0(c) Owen Shepherd, 2021MITowen@owen.cafestableportable Safe-InferredÝŠ  multi-exceptA + is a success value, or one or more errors. multi-exceptÂThis is written here because: * The version in dlist is currently limited to ghc>=8.0 * The version in dlist-nonempty is too heavy on dependencies * We only need a few trivial features anyway multi-exceptRun the computation. multi-exceptThrow a single error. multi-exceptThrow one or more errors. multi-exceptEmbeds a value into a  context. multi-except Convert an  to a . multi-exceptConvert a multi-error  to a . multi-except Join nested >s with the same error type. Note that this doesn't imply a useful MonadÒ instance. The instance defined in terms of join discards errors on the RHS of >>=. multi-except‰WARNING: O(n) space and time in the length of the amount of errors this could be fixed by changing the difference list Functor instance.         multi-except-1.0.0-inplaceControl.Applicative.MultiExcept multi-except MultiExceptrunMultiExcept throwError throwErrorssucceed fromEitherfromEitherPolyjoinmapMultiExceptor$fFunctorNonEmptyDList$fShowNonEmptyDList$fOrdNonEmptyDList$fEqNonEmptyDList$fTraversableMultiExcept$fFoldableMultiExcept$fApplicativeMultiExcept$fBifunctorMultiExcept$fFunctorMultiExcept$fEqMultiExcept$fOrdMultiExcept$fShowMultiExcept NonEmptyDListbase Data.EitherEither