h$hYYF      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                             (C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportable Trustworthy   semigroupoids duplicated = extended id fmap (fmap f) . duplicated = duplicated . fmap f semigroupoids !extended f = fmap f . duplicated  (C) 2011-2015,2018 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisional polykindsSafe 6(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportable Trustworthy -./01230123-./ Trustworthy(C) 2011-2018 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportable Trustworthy2 'c semigroupoids a p b D     a o b d semigroupoids a q b D    a o b e semigroupoidsA  sans .Minimal definition: Either g or fIf defining both, then the following laws (the default definitions) must hold: )join = (>>- id) m >>- f = join (fmap f m)Laws: 2induced definition of <.>: f <.> x = f >>- (<$> x)0Finally, there are two associativity conditions: associativity of (>>-): (m >>- f) >>- g == m >>- (\x -> f x >>- g) associativity of join: join . join = join . fmap join>These can both be seen as special cases of the constraint that 9associativity of (->-): (f ->- g) ->- h = f ->- (g ->- h)h semigroupoids8Transform an Apply into an Applicative by adding a unit.k semigroupoidsWrap an  to be used as a member of nn semigroupoidsA strong lax semi-monoidal endofunctor. This is equivalent to an  without .Laws: ()   u o v o w = u o (v o w) x o (f   y) = ( f)   x o y f   (x o y) = (f )   x o y The laws imply that p and q really ignore their left and right results, respectively, and really return their right and left results, respectively. Specifically, (mf   m) p (nf   n) = nf   (m p n) (mf   m) q (nf   n) = mf   (m q n) p semigroupoids  a p b =     a o bq semigroupoids  a q b =    a o br semigroupoids2Lift a binary function into a comonad with zippings semigroupoidsApply a non-empty container of functions to a possibly-empty-with-unit container of values.t semigroupoidsApply a possibly-empty-with-unit container of functions to a non-empty container of values.u semigroupoids Traverse a  using n , getting the results back in a h.x semigroupoidsA  is not , but it is an instance of nz semigroupoidsA  i c is not  unless its c is a , but it is an instance of n semigroupoidsA  s w is not  unless its s is a , but it is an instance of n semigroupoidsAn  e w is not  unless its e is a , but it is an instance of n semigroupoidsA  w m is not  unless its w is a , but it is an instance of n semigroupoidsA  w m is not  unless its w is a , but it is an instance of n semigroupoidsA 'HashMap k' is not , but it is an instance of n semigroupoidsAn  is not , but it is an instance of n semigroupoidsA 'Map k' is not , but it is an instance of n semigroupoidsA  m is not  unless its m is a , but it is an instance of n semigroupoidsA (,) m is not  unless its m is a , but it is an instance of n semigroupoidsA  f is not  unless its f is a , but it is an instance of n semigroupoidsA  is not a , but it is an instance of e semigroupoidsA 'HashMap k' is not a , but it is an instance of e semigroupoidsAn  is not a , but it is an instance of e semigroupoidsA 'Map k' is not a , but it is an instance of e semigroupoids semigroupoidsAn  r w s m is not a  unless its w is a , but it is an instance of e semigroupoidsAn  r w s m is not a  unless its w is a , but it is an instance of e semigroupoids semigroupoidsA  w m is not a  unless its w is a , but it is an instance of e semigroupoidsA  w m is not a  unless its w is a , but it is an instance of e semigroupoidsA (,) m is not a  unless its m is a , but it is an instance of e semigroupoids semigroupoidsAn  r w s m is not  unless its w is a , but it is an instance of n semigroupoidsAn  r w s m is not  unless its w is a , but it is an instance of n semigroupoidsabdcegfhijklmnqporstuvwnqporklmhijstuegfwvabdc b4c4d4f1o4p4q4s4t4(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportable Trustworthy" semigroupoids A variant of o with the arguments reversed. semigroupoids3Lift a ternary function into a comonad with zipping  hijklmnqporst nqporklmhijst4 (C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafe#0 semigroupoidsUsable default for foldMap, but only if you define bifoldMap1 yourself-./-./ (C) 2021 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafe-k$ semigroupoidsWrap a  to be used as a member of  semigroupoidsThe contravariant analogue of n ; it is  without .If one thinks of f a as a consumer of as, then  allows one to handle the consumption of a value by splitting it between two consumers that consume separate parts of a. takes the "splitting" method and the two sub-consumers, and returns the wrapped/combined consumer.All instances of  should be instances of  with  = ."If a function is polymorphic over  f (as opposed to  f), we can provide a stronger guarantee: namely, that any input consumed will be passed to at least one sub-consumer. With  f, said input could potentially disappear into the void, as this is possible with ./Mathematically, a functor being an instance of  means that it is "semigroupoidal" with respect to the contravariant (tupling) Day convolution. That is, it is possible to define a function (f Day f) a -> f a in a way that is associative. semigroupoidsTakes a "splitting" method and the two sub-consumers, and returns the wrapped/combined consumer. semigroupoidsCombine a consumer of a with a consumer of b to get a consumer of (a, b).  =    semigroupoids semigroupoids semigroupoidsUnlike , requires only n on f. semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoidsUnlike , requires only n on f. semigroupoids semigroupoids semigroupoids semigroupoidsHas no  instance. semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoidsUnlike , requires only  on m. semigroupoidsUnlike , requires only  on m. semigroupoidsUnlike , requires only  on r. semigroupoids semigroupoids (C) 2021 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafe5 semigroupoidsThe contravariant analogue of .If one thinks of f a as a consumer of as, then  allows one to handle the consumption of a value by choosing to handle it via exactly one of two independent consumers. It redirects the input completely into one of two consumers. takes the "decision" method and the two potential consumers, and returns the wrapped/combined consumer./Mathematically, a functor being an instance of  means that it is "semigroupoidal" with respect to the contravariant "either-based" Day convolution (data EitherDay f g a = forall b c. EitherDay (f b) (g c) (a -> Either b c)1). That is, it is possible to define a function (f  EitherDay f) a -> f a in a way that is associative. semigroupoidsTakes the "decision" method and the two potential consumers, and returns the wrapped/combined consumer. semigroupoidsFor  x y, the resulting f ( b c) will direct s to be consumed by x, and s to be consumed by y. semigroupoids semigroupoids semigroupoids semigroupoidsUnlike , requires only n on f. semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoidsUnlike , requires only n on f. semigroupoids semigroupoids semigroupoids semigroupoidsHas no  or Conclude instance. semigroupoids semigroupoids semigroupoidsUnlike , requires no constraint on r. semigroupoids semigroupoids semigroupoids semigroupoids (C) 2021 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafe>< semigroupoidsThe contravariant analogue of Plus. Adds on to  the ability to express a combinator that rejects all input, to act as the dead-end. Essentially $ without a superclass constraint on .If one thinks of f a as a consumer of as, then . defines a consumer that cannot ever receive any input."Conclude acts as an identity with &, because any decision that involves  must necessarily always pick the other option.That is, for, say,  f x  f< is the deciding function that picks which of the inputs of decide. to direct input to; in the situation above, f must always direct all input to x , and never ./Mathematically, a functor being an instance of  means that it is "monoidal" with respect to the contravariant "either-based" Day convolution described in the documentation of . On top of +, it adds a way to construct an "identity" conclude where decide f x (conclude q) == x, and decide g (conclude r) y == y. semigroupoids&The consumer that cannot ever receive any input. semigroupoids&A potentially more meaningful form of ), the consumer that cannot ever receive any8 input. That is because it expects only input of type  , but such a type has no values.  =    semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportable Trustworthy>  egfhijklmnqporvw nqporklmhijegfwv111 (C) 2007-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportable Trustworthy'(.@J semigroupoids sans  semigroupoids http://en.wikipedia.org/wiki/Band_(mathematics)#Rectangular_bands(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  experimentalnon-portable (flexible MPTCs)Safe.>?A(C) 2007-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafe.A(C) 2021 Koz Ross BSD-style (see the file LICENSE)$Koz Ross  ExperimentalGHC only Trustworthy '(B semigroupoidsAttaches an identity. semigroupoids semigroupoids semigroupoids(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisional polykinds Trustworthy'(.>D. semigroupoidssemigroupoid with inverses. This technically should be a category with inverses, except we need to use Ob to define the valid objects for the category(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisional polykindsSafe.D(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafeE semigroupoids1A subset of monad transformers can transform any e as well. semigroupoids semigroupoids(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafeF semigroupoidsLift binary functions semigroupoidsLift ternary functions  abdc abdc 4(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportable TrustworthyM semigroupoidsLaws:  is associative: (a b) c = a (b c) <$> left-distributes over : f <$> (a b) = (f <$> a) (f <$> b)If extended to an  then  should equal .Ideally, an instance of  also satisfies the "left distribution" law of MonadPlus with respect to o: <.> right-distributes over : (a b) <.> c = (a <.> c) (b <.> c),  a,  e m and ' instead satisfy the "left catch" law: pure a b = pure a and 3 satisfy both "left distribution" and "left catch".These variations cannot be stated purely in terms of the dependencies of .When and if MonadPlus is successfully refactored, this class should also be refactored to remove these instances.The right distributive law should extend in the cases where the a Bind or  is provided to yield variations of the right distributive law: (m n) >>- f = (m >>- f) (m >>- f) (m n) >>= f = (m >>= f) (m >>= f) semigroupoids without a required empty semigroupoids One or none. semigroupoids semigroupoids semigroupoidsChoose the first option every time. While 'choose the last option' every time is also valid, this instance satisfies more laws. semigroupoids-This instance does not actually satisfy the (o) right distributive law It instead satisfies the "left catch" law  hijklmnroqpst3(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafeR semigroupoids Insert an m between each pair of t m. Equivalent to  with  as the second argument.4intercalate1 ", " $ "hello" :| ["how", "are", "you"]"hello, how, are, you"!intercalate1 ", " $ "hello" :| []"hello"3intercalate1 mempty $ "I" :| ["Am", "Fine", "You?"] "IAmFineYou?" semigroupoidsInsert m between each pair of m derived from a.0intercalateMap1 " " show $ True :| [False, True]"True False True"%intercalateMap1 " " show $ True :| []"True" semigroupoidsUsable default for foldMap, but only if you define foldMap1 yourself semigroupoidsMonadic fold over the elements of a non-empty structure, associating to the right, i.e. from right to left. let g = (=<<) . f in foldrM1 f (x1 :| [x2, ..., xn]) == x1 `g` (x2 `g` ... (xn-1 `f` xn)...) semigroupoidsMonadic fold over the elements of a non-empty structure, associating to the left, i.e. from left to right. let g = flip $ (=<<) . f in foldlM1 f (x1 :| [x2, ..., xn]) == (...((x1 `f` x2) `g` x2) `g`...) `g` xn 0123 0123(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportable TrustworthySO(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafeTY semigroupoidsDefault implementation of foldMap1 given an implementation of .uu(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafeT(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportable TrustworthyV semigroupoidsLaws: zero m = m m zero = mIf extended to an  then  should equal . semigroupoids1The sum of a collection of actions, generalizing .*psum [Just "Hello", Nothing, Just "World"] Just "Hello" semigroupoids semigroupoids  hijklmnroqpstSafeX semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoidsImportant noteThis ignores whatever & you give it. It is a bad idea to use  as a form of labelled error; instead, it should only be defaulted to when a pattern match fails. g g(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisional polykinds TrustworthyY6 !"#$%$&$'$()*)+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                             *semigroupoids-5.3.7-7QWsfMRZ3AC5p6BEp1RaRwData.Functor.ApplySemigroupoids.DoData.Bifunctor.ApplyData.Functor.ExtendData.Semigroup.Foldable.ClassData.Functor.BindData.Semigroup.TraversableData.Functor.Bind.ClassData.Semigroup.Bifoldable!Data.Functor.Contravariant.Divise!Data.Functor.Contravariant.Decide#Data.Functor.Contravariant.ConcludeData.SemigroupoidData.Semigroupoid.ObData.Semigroupoid.DualData.Semigroupoid.Categorical Data.GroupoidData.IsomorphismData.Functor.Bind.TransData.Functor.AltData.Semigroup.Foldable Data.Semigroup.Traversable.ClassData.Semigroup.BitraversableData.Functor.PlusData.Semigroupoid.StaticData.Traversable.InstancesSemigroupoids.InternalGHC.ConcSTMbaseGHC.BasefmapreturnpureFunctorData.Bifunctorsecondfirstbimap Bifunctor Data.Functor$><$><$(bifunctors-5.5.11-9iCkvR3OhEs720YS23A4VuData.Biapplicative<<$>>Extend duplicatedextended $fExtendMax $fExtendMin $fExtendLast $fExtendFirst $fExtendAlt $fExtendDual$fExtendProduct $fExtendSum $fExtendRec1 $fExtendPar1 $fExtendM1 $fExtendV1 $fExtendU1 $fExtend:+: $fExtendSum0$fExtendNonEmpty$fExtendIdentityT$fExtendIdentity$fExtendTracedT$fExtendStoreT $fExtendEnvT $fExtendTree $fExtendSeq $fExtend-> $fExtend(,)$fExtendEither $fExtendMaybe $fExtendProxy$fExtendTagged $fExtend[] Bifoldable1bifold1 bifoldMap1 Foldable1fold1foldMap1 toNonEmpty$fFoldable1Joker$fFoldable1(,)$fFoldable1NonEmpty$fFoldable1Sum$fFoldable1Reverse$fFoldable1Product$fFoldable1Lift$fFoldable1Compose$fFoldable1Backwards$fFoldable1IdentityT$fFoldable1Tagged$fFoldable1Identity$fFoldable1Tree$fFoldable1Complex$fFoldable1:.: $fFoldable1V1$fFoldable1:+:$fFoldable1:*:$fFoldable1Par1 $fFoldable1M1$fFoldable1Rec1$fFoldable1Max$fFoldable1Min$fFoldable1Last$fFoldable1First$fFoldable1Alt$fFoldable1Dual$fFoldable1Product0$fFoldable1Sum0$fBifoldable1WrappedBifunctor$fBifoldable1Tannen$fBifoldable1Product$fBifoldable1Joker$fFoldable1Join$fBifoldable1Flip$fBifoldable1Clown$fBifoldable1Biff$fBifoldable1Tagged$fBifoldable1Const$fBifoldable1(,,,,)$fBifoldable1(,,,)$fBifoldable1(,,)$fBifoldable1(,)$fBifoldable1Either$fBifoldable1ArgBiapply<<.>>.>><<.Bind>>-join MaybeApply runMaybeApplyWrappedApplicativeWrapApplicativeunwrapApplicativeApply<.>.><.liftF2<.*><*.>traverse1Maybe returning apDefault $fApplyV1 $fApplyPar1 $fApplyK1 $fApplyU1 $fApply:.: $fApply:*: $fApplyMax $fApplyMin $fApplyLast $fApplyFirst $fApplyLast0 $fApplyFirst0 $fApplyDual$fApplyProduct $fApplySum $fApplyDown$fApplyCokleisli$fApplyTracedT $fApplyStoreT $fApplyEnvT $fApplyContT$fApplyWriterT$fApplyWriterT0$fApplyReaderT$fApplyExceptT $fApplyListT $fApplyErrorT $fApplyMaybeT$fApplyHashMap $fApplyTree $fApplySeq $fApplyIntMap $fApplyMap$fApplyQ$fApplyComplex$fApplyWrappedArrow$fApplyWrappedMonad$fApplyIdentityT$fApplyIdentity $fApplyOption $fApplyMaybe $fApplyIO $fApply[]$fApplyZipList $fApply-> $fApplyConst $fApplyEither$fApplyNonEmpty $fApply(,)$fApplyReverse$fApplyProduct0 $fApplyLift$fApplyConstant$fApplyCompose$fApplyBackwards $fApplyProxy $fApplyTagged$fAlternativeWrappedApplicative$fApplicativeWrappedApplicative$fApplyWrappedApplicative$fFunctorWrappedApplicative$fComonadMaybeApply$fExtendMaybeApply$fApplicativeMaybeApply$fApplyMaybeApply$fFunctorMaybeApply$fBindV1 $fBindMax $fBindMin $fBindLast $fBindFirst $fBindAlt $fBindLast0 $fBindFirst0 $fBindDual $fBindProduct $fBindSum $fBindDown $fBindHashMap $fBindTree $fBindSeq $fBindIntMap $fBindMap $fBindComplex $fBindContT $fBindRWST $fBindRWST0 $fBindRWST1 $fBindStateT $fBindStateT0 $fBindWriterT$fBindWriterT0$fBindWriterT1 $fBindReaderT $fBindExceptT $fBindErrorT $fBindListT $fBindMaybeT$fBindWrappedMonad$fBindIdentityT$fBindQ$fBindIdentity $fBindOption $fBindMaybe$fBindIO$fBindNonEmpty$fBind[]$fBind->$fBindProduct0 $fBindEither $fBindProxy $fBindTagged $fBind(,) $fApplyRWST $fApplyRWST0 $fApplyRWST1 $fApplyStateT$fApplyStateT0$fApplyWriterT1$fBiapplyWrappedBifunctor$fBiapplyTannen$fBiapplyProduct $fApplyJoin$fBiapplyJoker $fBiapplyFlip$fBiapplyClown $fBiapplyBiff$fBiapplyTagged$fBiapplyConst$fBiapply(,,,,)$fBiapply(,,,) $fBiapply(,,) $fBiapplyArg $fBiapply(,) $fApplyRec1 $fApplyM1 $fApplyAlt<..>liftF3 bitraverse1_bifor1_ bisequenceA1_bifoldMapDefault1 $fFunctorAct$fSemigroupActWrappedDivisible WrapDivisibleunwrapDivisibleDivisedivisedivised$fDiviseReverse$fDiviseProduct$fDiviseCompose$fDiviseWriterT$fDiviseWriterT0$fDiviseStateT$fDiviseStateT0 $fDiviseRWST $fDiviseRWST0$fDiviseReaderT$fDiviseMaybeT$fDiviseIdentityT$fDiviseExceptT $fDiviseListT$fDiviseErrorT$fDiviseBackwards $fDivise:.: $fDivise:*: $fDiviseM1 $fDiviseRec1 $fDiviseV1 $fDiviseU1 $fDiviseAlt $fDiviseProxy$fDivisePredicate$fDiviseEquivalence$fDiviseComparison$fDiviseConstant $fDiviseConst $fDiviseOp$fDiviseWrappedDivisible$fContravariantWrappedDivisibleDecidedecidedecided $fDecideProxy$fDecideReverse$fDecideProduct$fDecideCompose$fDecideWriterT$fDecideWriterT0$fDecideStateT$fDecideStateT0$fDecideMaybeT $fDecideListT $fDecideRWST $fDecideRWST0$fDecideReaderT$fDecideIdentityT$fDecideBackwards $fDecide:.: $fDecide:*: $fDecideM1 $fDecideRec1 $fDecideV1 $fDecideU1 $fDecideAlt $fDecideOp$fDecidePredicate$fDecideEquivalence$fDecideComparison$fDecideWrappedDivisibleConcludeconclude concluded$fConcludeReverse$fConcludeProduct$fConcludeCompose$fConcludeWriterT$fConcludeWriterT0$fConcludeStateT$fConcludeStateT0$fConcludeMaybeT$fConcludeListT$fConcludeRWST$fConcludeRWST0$fConcludeReaderT$fConcludeIdentityT$fConcludeBackwards $fConclude:.: $fConclude:*: $fConcludeM1$fConcludeRec1 $fConcludeU1 $fConcludeAlt$fConcludeProxy $fConcludeOp$fConcludePredicate$fConcludeEquivalence$fConcludeComparison$fConcludeWrappedDivisible-<<->--<-SemigetSemiWrappedCategory WrapCategoryunwrapCategory Semigroupoido$fSemigroupoidk:~~:$fSemigroupoidk:~:$fSemigroupoidkCoercion$fSemigroupoidTYPETagged$fSemigroupoidTYPEConst$fSemigroupoidTYPEOp$fSemigroupoidTYPECokleisli$fSemigroupoidTYPEKleisli$fSemigroupoidTYPE(,)$fSemigroupoidTYPE->$fCategorykWrappedCategory$fSemigroupoidkWrappedCategory$fCategorykSemi$fSemigroupoidkSemiObsemiid $fObTYPE->a$fObTYPECokleislia$fObTYPEKleisliaDualgetDual$fCategorykDual$fSemigroupoidkDual CategoricalIdEmbedrunCategorical$fCategoryTYPECategorical$fSemigroupoidTYPECategoricalGroupoidinv$fGroupoidk:~~:$fGroupoidk:~:$fGroupoidkCoercion$fGroupoidkDualIsoembedproject$fCategorykIso$fGroupoidkIso$fSemigroupoidkIso BindTransliftB$fBindTransContT$fBindTransRWST$fBindTransRWST0$fBindTransRWST1$fBindTransStateT$fBindTransStateT0$fBindTransWriterT$fBindTransWriterT0$fBindTransWriterT1$fBindTransReaderT$fBindTransIdentityT<<..>>bilift2bilift3Altsomemanyoptional $fAltLast $fAltFirst $fAltLast0 $fAltFirst0 $fAltReverse $fAltProduct $fAltLift $fAltCompose$fAltBackwards $fAltRWST $fAltRWST0 $fAltRWST1 $fAltWriterT $fAltWriterT0 $fAltWriterT1 $fAltStateT $fAltStateT0 $fAltExceptT $fAltListT $fAltErrorT $fAltMaybeT $fAltReaderT$fAltIdentityT$fAltWrappedApplicative $fAltNonEmpty $fAltHashMap$fAltSeq $fAltIntMap$fAltMap$fAltWrappedArrow$fAltWrappedMonad $fAltOption $fAltMaybe$fAlt[] $fAltIdentity$fAltIO $fAltEither $fAltProxy$fAltV1$fAltU1$fAlt:*: $fAltRec1$fAltM1 intercalate1intercalateMap1 traverse1_for1_ sequenceA1_foldMapDefault1asum1foldrM1foldlM1$fSemigroupJoinWith$fSemigroupAlt_ Traversable1 traverse1 sequence1Bitraversable1 bitraverse1 bisequence1 $fBitraversable1WrappedBifunctor$fBitraversable1Product$fBitraversable1Flip$fBitraversable1Tagged$fBitraversable1Const$fBitraversable1(,,,,)$fBitraversable1(,,,)$fBitraversable1(,,)$fBitraversable1(,)$fBitraversable1Either$fBitraversable1Arg$fTraversable1Max$fTraversable1Min$fTraversable1Last$fTraversable1First$fTraversable1Alt$fTraversable1Dual$fTraversable1Product$fTraversable1Sum$fTraversable1Joker$fTraversable1(,)$fTraversable1NonEmpty$fTraversable1Tree$fTraversable1Tagged$fTraversable1Complex$fTraversable1Sum0$fTraversable1Reverse$fTraversable1Product0$fTraversable1Lift$fTraversable1Compose$fTraversable1Backwards$fTraversable1IdentityT$fTraversable1Identity$fTraversable1:.:$fTraversable1:+:$fTraversable1:*:$fTraversable1V1$fTraversable1Par1$fTraversable1M1$fTraversable1Rec1$fBitraversable1Tannen$fBitraversable1Joker$fTraversable1Join$fBitraversable1Clown$fBitraversable1BifffoldMap1DefaultbifoldMap1DefaultPluszeropsum $fPlusLast $fPlusFirst $fPlusReverse $fPlusProduct $fPlusLift $fPlusCompose$fPlusBackwards $fPlusRWST $fPlusRWST0 $fPlusRWST1 $fPlusWriterT$fPlusWriterT0$fPlusWriterT1 $fPlusStateT $fPlusStateT0 $fPlusExceptT $fPlusListT $fPlusErrorT $fPlusMaybeT $fPlusReaderT$fPlusIdentityT$fPlusWrappedApplicative $fPlusHashMap $fPlusSeq $fPlusIntMap $fPlusMap$fPlusWrappedArrow$fPlusWrappedMonad $fPlusOption $fPlusMaybe$fPlus[]$fPlusIO $fPlusRec1$fPlusM1 $fPlus:*:$fPlusU1 $fPlusProxy<**><*>>>>>=failStatic runStatic$fArrowChoiceStatic$fArrowPlusStatic$fArrowZeroStatic $fArrowStatic$fCategoryTYPEStatic$fSemigroupoidTYPEStatic$fComonadStatic$fExtendStatic$fApplicativeStatic $fPlusStatic $fAltStatic $fApplyStatic$fFunctorStatic mkWriterT unWriterTmkRWSTunRWSTconstControl.CategoryidMonad Applicative.Data.Traversable Traversable GHC.GenericsV1K1Monoid#comonad-5.0.8-DjWFEeEb2V35R3yc0GXZrControl.Comonad.Trans.StoreStoreTControl.Comonad.Trans.EnvEnvTtransformers-0.5.6.2Control.Monad.Trans.Writer.LazyWriterT!Control.Monad.Trans.Writer.Strictcontainers-0.6.2.1Data.IntMap.InternalIntMapData.Functor.ConstConstData.Functor.ConstantConstantControl.Monad.Trans.RWS.StrictRWSTControl.Monad.Trans.RWS.Lazy*contravariant-1.5.5-Ahm1naNh6BQEDiMrfTOLxo$Data.Functor.Contravariant.Divisible Divisibleconquerdivide SemigroupData.Semigroup.Internal Data.EitherEitherLeftRight Decidable Data.VoidVoidCategory Alternative<|>ghc-prim GHC.TypesIOControl.Monad.Trans.ExceptExceptT GHC.MaybeMaybeData.Functor.IdentityIdentityempty Data.FoldableconcatString