úÎ ¶ non-portable experimental%Andy Sonnenburg <andy22286@gmail.com> Safe-InferredThe permutation monad The permutation applicative  Unwrap a , combining actions using the  for f.  Unwrap a , combining actions using the  for f.  A version of  that can be used with just an   for m. Lift a monad homomorphism from m to n into a monad homomorphism from  m to  n. >  !"#$%&'()*+,-./0123456789:;<=>?@A1   !"#$%&'()*+,-./0123456789:;<=>?@A non-portable experimental%Andy Sonnenburg <andy22286@gmail.com> Safe-Inferred non-portable experimental%Andy Sonnenburg <andy22286@gmail.com> Safe-InferredB     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG perm-0.3.0.0Control.Monad.PermControl.Applicative.PermControl.Monad.Perm.InternalPermTPermrunPermrunPermTliftPerm hoistPermbaseControl.Applicative Alternative Control.Monad MonadPlustransformers-0.3.0.0Control.Monad.Trans.Classlift ApplicativeDictMonadOptionReturnZeroPlusDictUnitBranchesNilBranchPlusBindApChoicemapBorBmplusBsumBoptionapP.@apBflipA2thenPAthenBAbindPthenPMthenBM localBranchliftZero liftBranch hoistOption hoistBranches hoistBranch$fMonadThrowePermT$fMonadStatesPermT$fMonadReaderrPermT$fMonadIOPermT$fMonadTransPermT$fMonadPlusPermT $fMonadPermT$fAlternativePermT$fApplicativePermT$fFunctorBranch$fFunctorPermT$fMonadPlusOption $fMonadOption$fAlternativeOption$fApplicativeOption$fFunctorOption$fFunctorBranches$fMonoidBranches