Uy7      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ NoneAn ordered list KThe dual of a monoid is the same as the original, with arguments reversed 6A monoid on category endomorphisms under composition The Product monoid 6A monoid is a semigroup with a null element such that zero + a == a + zero == a MThe class of all types that have a binary operation. Note that the operation isn'=t necesarily commutative (in the case of lists, for example) W  !"#$%&'(      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()  ( "!#$&%'D     !"#$%&'( None)*+,-./)*+,-./)*+,-./None0The Composition functor 3A motherflippin' functor 6The Constant Functor 9The Identity Functor 20123456789:;<=>?@ABCD./0123456789:;<=>?@ABCD./>?<=9:;678345012ACBD@$0123456789:;<=>?@ABCDNoneEFGHIJKLMNOP EFGHIJKLMNOP EFGHIJKLMNOPEFGHIJKLMNOPNoneQNA wrapper for applicative functors with actions executed in the reverse order TThe Tree equivalent to ZipList VGA wrapper type for lists with zipping Applicative instances, such that ZipList [f1,...,fn] - ZipList [x1,...,xn] == ZipList [f1 x1,...,fn xn] ,QRSTUVWXYZ[\]^_`a*,-./0123456789:;<=>?@ABCDQRSTUVWXYZ[\]^_`a,-VWXTUQRSZ[Y\]^_`a'QRSTUVWXYZ[\]^_`aNone bcdefghi2,-./0123456789:;<=>?@ABCDQRSTUVWXYZ[\]^_`abcdefghidebcfghi bcdefghiNone"jklmnopqrstuvwxyz{|}~jklmnopqrstuvwxyz{|}~onlmutsrqpvwxyz{|}~jk jklmnopqrstuvwxyz{|}~None-A simple continuation monad implementation A simple Writer monad A simple Reader monad A simple State Monad `      !"#$%&'()*+,-./0123456789Z)*+,-./0123456789:;<=>?@ABCDQRSTUVWXYZ[\]^_`a0)*+L      !"#$%&'()*+,-./0123456789None:;<=>?@ABCDEFGH :;<=>?@ABCDEFGH Noneu      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghiI      !"#$%&'()*+,-./ 0 1 2 3 4 5 677899:;;<==>?@ABCDEFGHIJKLMNOPQRSTTUVVWWXYZ[\]^_`abcdefghijkllmnopqrstuvwxyz{|}~      !"#$%&'()*+','-./0123456789:;<=>?@ABAC'DEFEGEHEIEJEKELEMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu?v?wxyz{|}~i      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV Clean-0.6 Clean.Core Clean.MonadClean.Applicative Clean.FunctorClean.FoldableClean.Traversable Clean.Lens Clean.Arrow Clean.ClassesClean Interleave interleaveOrdList getOrdListDualgetDualEndorunEndoSplit<#>Choice<|>Categoryid.UnitpureRingone*SubSemitoMonoidzero Semigroup+:+::*:&secondfirstleftrightguard ifThenElsefailconstMonadjoin>>= Applicative<*>FunctormapCompose getComposeFlipunFlipConstgetConstIdgetId Bifunctordimap Cofunctorcomappromap<$><&><$voidFoldablefoldfoldMapconcatsumsplit partitionfiltercountlengthfoldlfoldr BackwardsforwardsZipTreeZipList getZipListap*><*liftAliftA2liftA3liftA4plusAzeroA Contravariantcollect Traversablesequencetraverseforeach transposeflipWrappedwrappedMkIsoIso'Iso Traversal' TraversalLens'Lens LensLike'LensLikeisofromlenslamprism^.%~.~_1_2_l_r_both_list_head_tail _droppingwrappingContContTrunContT MonadContcallCCWriterWriterT runWriterT MonadWritertelllistencensorReaderReaderT runReaderT MonadReaderasklocalStateStateT runStateT MonadStategetputmodify MonadTransliftinternalMonadFixmfix>>=<<return evalStateT execStateTrunState execState evalState runWriter evalContTevalContKleisli runKleisliApplyapplyArrowarr>>><<<^>>>>^app|||ProductVoid$fSemigroupInterleave$fSemigroupOrdList $fRingDual$fSemigroupDual $fMonoidEndo$fSemigroupEndo$fMonoidProduct$fSemigroupProduct $fSplit(->) $fChoice(->)$fCategory(->)$fUnitIO $fUnitTree$fUnit[] $fUnit(->) $fUnit(,) $fUnitEither$fRing[] $fRingFloat $fRingInteger $fRingInt $fRingBool $fSubSemia() $fMonoidBool$fMonoidEither $fMonoid(,) $fMonoid[] $fMonoidSet $fMonoidFloat$fMonoidInteger $fMonoidInt $fMonoid() $fMonoidVoid$fSemigroupEither$fSemigroup(,) $fSemigroup[]$fSemigroupSet$fSemigroupInteger$fSemigroupFloat$fSemigroupInt$fSemigroupBool $fSemigroup()$fSemigroupVoidbaseGHC.Errerrorghc-primGHC.PrimseqGHC.Listzip System.IOprint Data.TuplefstsndGHC.Base otherwise$GHC.Num fromInteger-GHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=negate fromIntegral realToFrac toInteger toRationalBoundedEnumEq GHC.FloatFloating FractionalIntegralNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShow GHC.TypesBoolCharDoubleFloatInt integer-gmpGHC.Integer.TypeIntegerOrderingRationalIO Data.EitherEitherStringFalseTrueLeftRightLTEQGTPrelude$!readIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputCharGHC.IO.ExceptionioError Text.Readreadreadseither Data.Listunwordswordsunlineslinesproductfoldl1minimummaximumlex readParenreadList readsPrecText.ParserCombinators.ReadPReadSacoshatanhasinhcoshtanhsinhacosatanasincostansinlogBase**logsqrtexppiatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadixGHC.IOFilePath userErrorIOErrorlcmgcd^^^oddevendivModquotRemmoddivremquotrecip/floorceilingroundtruncateproperFraction undefinedmaxBoundminBoundfromEnumtoEnumpredsucc showParen showStringshowCharshowsShowSshowListshow showsPrecunzip3unzipzipWith3zipWithzip3!! concatMaplookupnotElemelemallanyorandreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrfoldr1scanl1scanlnullinitlasttailhead Data.MaybemaybeNothingJustMaybeuncurrycurrysubtractsignumabsasTypeOfuntil/=compare<=&&||not<>maxminSumgetSum getProduct $fMonadIO$fApplicativeIO $fFunctorIO $fFunctor(->) $fFunctor(,)$fFunctorEither $fFunctorSum$fFunctorProduct$fFunctorCompose $fUnitCompose $fMonadConst$fApplicativeConst$fFunctorConst $fUnitConst $fMonadId$fApplicativeId $fFunctorId$fUnitId $fFunctorTree $fFunctor[]$fBifunctor(->)$fCofunctorCompose$fCofunctorFlip$fFoldableTree $fFoldable[]$fFoldableEither $fFoldableIdoneAtimesA$fApplicativeBackwards$fApplicativeZipTree $fUnitZipTree$fFunctorZipTree$fApplicativeZipList $fUnitZipList$fFunctorZipList$fMonoidZipList$fSemigroupZipList$fMonadInterleave$fApplicativeInterleave$fApplicativeCompose $fMonadTree$fApplicativeTree $fMonad[]$fApplicative[] $fMonad(,)$fApplicative(,) $fMonad(->) $fRing(->) $fMonoid(->)$fSemigroup(->)$fApplicative(->) $fMonadEither$fApplicativeEither$fContravariant(->)$fContravariantId$fTraversableTree$fTraversable[]$fTraversableEither_mapping$fBifunctorMkIso$fFunctorMkIsofixcfixpure_get_put_modify_ask_local_tell_listen_censor_$fMonadBackwards$fMonadTransBackwards$fMonadContContT$fMonadTransContT $fMonadContT$fApplicativeContT$fFunctorContT $fUnitContT$fMonadFixWriterT$fMonadStaterWriterT$fMonadReaderrWriterT$fMonadWriterwWriterT$fMonadWriterT$fApplicativeWriterT$fFunctorWriterT $fUnitWriterT$fMonadTransWriterT$fMonadFixReaderT$fMonadContReaderT$fMonadWriterwReaderT$fMonadStatesReaderT$fMonadReaderrReaderT$fMonadReaderT$fApplicativeReaderT$fFunctorReaderT $fUnitReaderT$fMonadTransReaderT$fMonadFixStateT$fMonadContStateT$fMonadWriterwStateT$fMonadReaderrStateT$fMonadStatesStateT$fMonadTransStateT $fMonadStateT$fApplicativeStateT$fFunctorStateT $fUnitStateT $fMonadFix[]$fMonadFix(->) $fMonadFixIdkckc'$fArrowKleisli$fApplyKleisli$fSplitKleisli$fChoiceKleisli$fCategoryKleisli$fMonadKleisli$fApplicativeKleisli$fFunctorKleisli $fUnitKleisli$fMonadCompose $fApply(->) $fArrow(->)