h&qc      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                                                            (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 semigroupoidsGeneric  . Caveats: Will not compile if w is a product type.Will not compile if w contains fields where the type variable appears underneath the composition of type constructors (e.g., f (g a)). semigroupoidsGeneric . Caveats are the same as for .( semigroupoids(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportable Trustworthy4(C) 2011-2015,2018 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisional polykindsSafe Trustworthy (C) 2011-2018 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportable Trustworthy5!,< semigroupoids a I b D    a H b = semigroupoids a J b D   a H b > semigroupoidsA  sans .Minimal definition: Either @ or ?If 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)A semigroupoids8Transform an Apply into an Applicative by adding a unit.D semigroupoidsWrap an  to be used as a member of GG semigroupoidsA strong lax semi-monoidal endofunctor. This is equivalent to an  without .Laws: ()  u H v H w = u H (v H w) x H (f  y) = ( f)  x H y f  (x H y) = (f )  x H y The laws imply that I and J really ignore their left and right results, respectively, and really return their right and left results, respectively. Specifically, (mf  m) I (nf  n) = nf  (m I n) (mf  m) J (nf  n) = mf  (m J n) I semigroupoids  a I b =    a H bJ semigroupoids  a J b =   a H bK semigroupoids2Lift a binary function into a comonad with zippingL semigroupoidsApply a non-empty container of functions to a possibly-empty-with-unit container of values.M semigroupoidsApply a possibly-empty-with-unit container of functions to a non-empty container of values.N semigroupoids Traverse a  using G , getting the results back in a A.Q semigroupoidsA  is not , but it is an instance of GS semigroupoidsA  i c is not  unless its c is a , but it is an instance of Gc semigroupoidsA  s w is not  unless its s is a , but it is an instance of Gd semigroupoidsAn  e w is not  unless its e is a , but it is an instance of Gf semigroupoidsA  w m is not  unless its w is a , but it is an instance of Gg semigroupoidsA  w m is not  unless its w is a , but it is an instance of Gm semigroupoidsA 'HashMap k' is not , but it is an instance of Gp semigroupoidsAn  is not , but it is an instance of Gq semigroupoidsA 'Map k' is not , but it is an instance of G} semigroupoidsA  m is not  unless its m is a , but it is an instance of G semigroupoidsA (,) m is not  unless its m is a , but it is an instance of G semigroupoidsA  f is not  unless its f is a , but it is an instance of G semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoidsA  is not a , but it is an instance of > semigroupoidsA 'HashMap k' is not a , but it is an instance of > semigroupoidsAn  is not a , but it is an instance of > semigroupoidsA 'Map k' is not a , but it is an instance of > semigroupoids semigroupoidsAn  r w s m is not a  unless its w is a , but it is an instance of > semigroupoidsAn  r w s m is not a  unless its w is a , but it is an instance of > semigroupoids semigroupoidsA  w m is not a  unless its w is a , but it is an instance of > semigroupoidsA  w m is not a  unless its w is a , but it is an instance of > semigroupoidsA (,) m is not a  unless its m is a , but it is an instance of > semigroupoids semigroupoidsAn  r w s m is not  unless its w is a , but it is an instance of G semigroupoidsAn  r w s m is not  unless its w is a , but it is an instance of G semigroupoids:;=<>@?ABCDEFGHJIKLMNOPGHJIKDEFABCLMN>@?PO:;=< ;4<4=4?1H4I4J4L4M4(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportable Trustworthy$ semigroupoids A variant of H with the arguments reversed. semigroupoids3Lift a ternary function into a comonad with zipping semigroupoidsGeneric K . Caveats: Will not compile if w is a sum type. Types in w< that do not mention the type variable must be instances of . semigroupoidsGeneric . Caveats are the same as for .  ABCDEFGHJIKLM  GHJIKDEFABCLM4 (C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafe% semigroupoidsUsable default for foldMap, but only if you define bifoldMap1 yourself (C) 2021 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafe1a& semigroupoidsWrap a  to be used as a member of  semigroupoidsThe contravariant analogue of G ; 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. semigroupoidsGeneric  . Caveats: Will not compile if f is a sum type.Will not compile if f7 contains fields that do not mention its type variable.-XDeriveGeneric is not smart enough to make instances where the type variable appears in negative position. semigroupoidsCombine a consumer of a with a consumer of b to get a consumer of (a, b).  =    semigroupoidsGeneric . Caveats are the same as for . semigroupoids semigroupoids semigroupoidsUnlike , requires only G on f. semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoidsUnlike , requires only G 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  provisionalportableSafe;  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. semigroupoidsGeneric  . Caveats: Will not compile if f is a sum type.Will not compile if f7 contains fields that do not mention its type variable.-XDeriveGeneric is not smart enough to make instances where the type variable appears in negative position. semigroupoidsFor  x y, the resulting f ( b c) will direct s to be consumed by x, and s to be consumed by y. semigroupoidsGeneric . Caveats are the same as for . semigroupoids semigroupoids semigroupoids semigroupoidsUnlike , requires only G on f. semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoidsUnlike , requires only G 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  provisionalportableSafeD 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. semigroupoidsGeneric  . Caveats: Will not compile if f is a sum type.Will not compile if f7 contains fields that do not mention its type variable. 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.  =    semigroupoidsGeneric . Caveats are the same as for . 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 TrustworthyG semigroupoidsGeneric ? . Caveats: Will not compile if m is a sum type.Will not compile if m7 contains fields that do not mention its type variable.Will not compile if m contains fields where the type variable appears underneath the composition of type constructors (e.g., f (g a)).0May do redundant work, due to the nature of the > instance for ()  >@?ABCDEFGHJIKOP  GHJIKDEFABC>@?PO111(C) 2007-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportable Trustworthy)*0H 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)Safe0I](C) 2007-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafe0I(C) 2021 Koz Ross BSD-style (see the file LICENSE)$Koz Ross  ExperimentalGHC only Trustworthy )*K semigroupoidsAttaches an identity. semigroupoids semigroupoids semigroupoids(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisional polykinds Trustworthy)*0Lr 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 polykindsSafe0M (C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafeN/ semigroupoids1A subset of monad transformers can transform any > as well. semigroupoids semigroupoids(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafeO semigroupoidsLift binary functions semigroupoidsLift ternary functions  :;=< :;=< 4(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportable TrustworthyV  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 H: <.> 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 Generic ( ). Caveats: Will not compile if f is a sum type.Any types where the a does not appear must have a  instance. 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 (H) right distributive law It instead satisfies the "left catch" law semigroupoids  since 5.3.8 semigroupoids  ABCDEFGKIHJLM3(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafeZ( 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 semigroupoidsGeneric  . Caveats: Will not compile if t is an empty constructor.Will not compile if t$ has some fields that don't mention a, for exmaple data Bar a = MkBar a Int semigroupoidsGeneric . Caveats are the same as for . semigroupoidsGeneric . Caveats are the same as for .  (C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportable TrustworthyZ(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafe]0 semigroupoidsDefault implementation of foldMap1 given an implementation of . semigroupoidsGeneric  . Caveats: Will not compile if t is an empty constructor.Will not compile if t$ has some fields that don't mention a, for exmaple data Bar a = MkBar a Int semigroupoidsGeneric . Caveats are the same for .NN(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafe](C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportable Trustworthy` 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" semigroupoidsGeneric  . Caveats: Will not compile if f is a sum type.Any types where the a does not appear must have a  instance. semigroupoids semigroupoids semigroupoids semigroupoids   ABCDEFGKIHJLMSafebI 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. @ @(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisional polykinds Trustworthyc !"#$%$&$'$()*)+,-./01201301401501601701809:09;09<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` a b c d e f g h h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                                                                                                 &semigroupoids-6-6zYNBfHfQGjDyxlIqjyPOiData.Functor.ApplySemigroupoids.DoData.Bifunctor.ApplyData.Semigroup.FoldableData.Semigroup.Foldable.ClassData.Functor.ExtendData.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.Alt Data.Semigroup.Traversable.ClassData.Semigroup.BitraversableData.Functor.PlusData.Semigroupoid.StaticData.Traversable.InstancesSemigroupoids.InternalGHC.ConcSTMbaseGHC.BasefmapreturnpureFunctorData.Bifunctorsecondfirstbimap Bifunctor Data.Functor<$>$><$%bifunctors-5.6-8j8DuS3SamL1CuBJbDn40dData.Biapplicative<<$>>3foldable1-classes-compat-0.1-I5d6Ph3TiNZ22HBHJqCFAIData.Foldable1foldlM1foldrM1 intercalate1 toNonEmptyfoldMap1fold1 Foldable1Data.Bifoldable1 bifoldMap1bifold1 Bifoldable1Extend duplicatedextended gduplicated gextended $fExtendMax $fExtendMin $fExtendLast $fExtendFirst $fExtendAlt $fExtendDual$fExtendProduct $fExtendSum $fExtendRec1 $fExtendPar1 $fExtendM1 $fExtendV1 $fExtendU1 $fExtendK1 $fExtend:+: $fExtendSum0$fExtendNonEmpty$fExtendIdentityT$fExtendIdentity$fExtendTracedT$fExtendStoreT $fExtendEnvT $fExtendTree $fExtendSeq $fExtendFUN $fExtend(,)$fExtendEither $fExtendMaybe $fExtendProxy$fExtendTagged $fExtend[]Biapply<<.>>.>><<.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 $fApplyMaybe $fApplyIO $fApply[]$fApplyZipList $fApplyFUN $fApplyConst $fApplyEither$fApplyNonEmpty $fApply(,)$fApplyReverse$fApplyProduct0 $fApplyLift$fApplyConstant$fApplyCompose$fApplyBackwards $fApplyProxy $fApplyTagged$fAlternativeWrappedApplicative$fApplicativeWrappedApplicative$fApplyWrappedApplicative$fFunctorWrappedApplicative$fComonadMaybeApply$fExtendMaybeApply$fApplicativeMaybeApply$fApplyMaybeApply$fFunctorMaybeApply $fBind:*: $fBindPar1 $fBindRec1$fBindM1$fBindU1$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 $fBindMaybe$fBindIO$fBindNonEmpty$fBind[] $fBindFUN$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<..>liftF3gliftF2gliftF3 bitraverse1_bifor1_ bisequenceA1_bifoldMapDefault1 $fFunctorAct$fSemigroupActWrappedDivisible WrapDivisibleunwrapDivisibleDivisedivisegdivisedivisedgdivised$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$fContravariantWrappedDivisibleDecidedecidegdecidedecidedgdecided $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 gconclude concluded gconcluded$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$fConcludeWrappedDivisiblegbind-<<->--<-SemigetSemiWrappedCategory WrapCategoryunwrapCategory Semigroupoido$fSemigroupoidk:~~:$fSemigroupoidk:~:$fSemigroupoidkCoercion$fSemigroupoidTYPETagged$fSemigroupoidTYPEConst$fSemigroupoidTYPEOp$fSemigroupoidTYPECokleisli$fSemigroupoidTYPEKleisli$fSemigroupoidTYPE(,)$fSemigroupoidTYPEFUN$fCategorykWrappedCategory$fSemigroupoidkWrappedCategory$fCategorykSemi$fSemigroupoidkSemiObsemiid $fObTYPEFUNa$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<<..>>bilift2bilift3Altsomemanyoptionalgalt $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 $fAltMaybe$fAlt[] $fAltIdentity$fAltIO $fAltEither $fAltProxy$fAltV1$fAltU1$fAltK1$fAlt:.:$fAlt:*: $fAltRec1$fAltM1intercalateMap1 traverse1_for1_ sequenceA1_foldMapDefault1asum1gfold1 gfoldMap1 gtoNonEmpty$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$fTraversable1Reverse$fTraversable1Lift$fTraversable1Backwards$fTraversable1IdentityT$fTraversable1Compose$fTraversable1Sum0$fTraversable1Product0$fTraversable1Identity$fTraversable1:.:$fTraversable1:+:$fTraversable1:*:$fTraversable1V1$fTraversable1Par1$fTraversable1M1$fTraversable1Rec1$fBitraversable1Tannen$fBitraversable1Joker$fTraversable1Join$fBitraversable1Clown$fBitraversable1BifffoldMap1Default gtraverse1 gsequence1bifoldMap1DefaultPluszeropsumgzero $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 $fPlusMaybe$fPlus[]$fPlusIO $fPlusRec1$fPlusM1 $fPlus:.: $fPlus:*:$fPlusK1$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-1zfoK1lQeVy2YK4KZkoAKGControl.Comonad.Trans.StoreStoreTControl.Comonad.Trans.EnvEnvTtransformers-0.5.6.2Control.Monad.Trans.Writer.LazyWriterT!Control.Monad.Trans.Writer.Strictcontainers-0.6.5.1Data.IntMap.InternalIntMapData.Functor.ConstConstData.Functor.ConstantConstantControl.Monad.Trans.RWS.StrictRWSTControl.Monad.Trans.RWS.Lazy Semigroup*contravariant-1.5.5-596ADKsI2Mu9h4lPQxvtWT$Data.Functor.Contravariant.Divisible DivisibleconquerdivideData.Semigroup.Internal Data.EitherEitherLeftRight Decidable Data.VoidVoid:*:Category Alternative<|>ghc-prim GHC.TypesIOControl.Monad.Trans.ExceptExceptT GHC.MaybeMaybeData.Functor.IdentityIdentityempty Data.FoldableconcatString