!96u4      !"#$%&'()*+,-./0123None 6;<=>?K$  alternators Monoid under  . Mnemonic:  for  , just like Alt for  Altenative alternatorsXCombining effects where both input effects are used as much as possible. as opposed to 4, where only the "successful" effect is used. alternatorsWAn associative binary operation, where both input effects are used as much as possible. alternatorsThe identity of  alternators8State instances threads the state through both monad of  in the normal left to right order, and so do not prevent early termination from the left monad (eg if the inner monad was a 5 or 6". However, it is able to use the  to combine the return value. alternators8State instances threads the state through both monad of  in the normal left to right order, and so do not prevent early termination from the left monad (eg if the inner monad was a 5 or 6". However, it is able to use the  to combine the return value. alternators:Writer instances threads the writer through both monad of  in the normal left to right order, and so do not prevent early termination from the left monad (eg if the inner monad was a 5 or 6". However, it is able to use the  to combine the return value.  alternators:Writer instances threads the writer through both monad of  in the normal left to right order, and so do not prevent early termination from the left monad (eg if the inner monad was a 5 or 6". However, it is able to use the  to combine the return value.  alternators8State instances threads the state through both monad of  in the normal left to right order, and so do not prevent early termination from the left monad (eg if the inner monad was a 5 or 6". However, it is able to use the  to combine the return value.  alternators8State instances threads the state through both monad of  in the normal left to right order, and so do not prevent early termination from the left monad (eg if the inner monad was a 5 or 6". However, it is able to use the  to combine the return value. alternators Combine the monads that returns r not a. alternators6Overlappable instance for all Applicatives of Monoids.6Safe +;<=>?AVi2% alternatorsThe inverse of % is bind -(>>=) :: Monad m => m a -> (a -> m r) -> m r & alternatorstOnly handle with given monad, and ignore anything else. This means subseqent fmap, aps, binds are always ignored. forall so TypeApplications$ can be used to specify the type of a' alternatorsOConvert two handler to a monad that may fire two possibilities The inverse is (.( alternators>Convert a monad that fires two possibilites to a two handlers.) alternatorsbind only the 7 possibility.* alternatorsbind only the 8 possibility.+ alternators finish the 8 possibility, alternators finish the 7 possibility- alternatorsmaybe %! the Just value, or just use the r.. alternatorsPassthrough instance/ alternatorsPassthrough instance0 alternatorsPassthrough instance1 alternatorsPassthrough instance2 alternators0Instance that does real work using continuations $%&'()*+,- $%&'()*+,-Safe6i3 alternators"The more useful version is to use 3D flipped so it can be in a chain of transformer runners, like this  evalCont . (3 val), This argument ordering is consistent with .339      !"#$%&'()*+,-./0123456789:;<=><?@9AB9ACD*alternators-1.0.0.0-CUyj9MLFkvaJMknoptjMiE Control.AlsoControl.Monad.Delegate Control.Monad.Trans.Maybe.ExtrasControl.Monad.Trans.State evalStateTAlsgetAlsAlsoalsoalsoZero $fAlsoRWSTa $fAlsoRWSTa0$fAlsoWriterTa$fAlsoWriterTa0 $fAlsoStateTa$fAlsoStateTa0 $fAlsoMaybeTa$fAlsoExceptTa$fAlsoReaderTa $fAlsoContTa$fAlsoIdentityTa $fAlsoIOa$fAlsoIdentitya$fAlsofa $fMonoidAls$fSemigroupAls $fNewtypeAls $fGenericAls $fGeneric1Als $fReadAls $fShowAls$fEqAls$fOrdAls$fNumAls $fEnumAls $fMonadAls$fMonadPlusAls$fApplicativeAls$fAlternativeAls $fFunctorAls MonadDelegatedelegatefinish multitaskbind2 bindRightbindLeft finishLeft finishRight maybeDelegate$fMonadDelegaterExceptT$fMonadDelegaterMaybeT$fMonadDelegaterReaderT$fMonadDelegaterIdentityT$fMonadDelegaterContT evalMaybeTbaseGHC.Base Alternativetransformers-0.5.5.0Control.Monad.Trans.MaybeMaybeTControl.Monad.Trans.ExceptExceptT Data.EitherRightLeft