h*r`d       !"#$%&'()*+,-./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 { | } ~                                                                                                                                                                                                    6.0.1(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportable Trustworthy b 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 Trustworthy  (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 Trustworthy6!,< 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 Gk semigroupoidsA 'HashMap k' is not , but it is an instance of Gn semigroupoidsAn  is not , but it is an instance of Go 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 semigroupoidsGHJIKDEFABCLMN>@?PO:;=<GHJIKDEFABCLMN>@?PO:;=< ;4<4=4?1H4I4J4L4M4(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportable Trustworthy$P 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 .GHJIKDEFABCLMGHJIKDEFABCLM4 (C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafe%u 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 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'This instance is only available if the +contravariant cabal flag is enabled. 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 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'This instance is only available if the +contravariant cabal flag is enabled. (C) 2021 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafeE 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'This instance is only available if the +contravariant cabal flag is enabled. semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids semigroupoids'This instance is only available if the +contravariant cabal flag is enabled.(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportable TrustworthyH  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 ()GHJIKDEFABC>@?POGHJIKDEFABC>@?PO111(C) 2007-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportable Trustworthy)*0I} 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)Safe0JO(C) 2007-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafe0J(C) 2021 Koz Ross BSD-style (see the file LICENSE)$Koz Ross  ExperimentalGHC only Trustworthy )*L semigroupoidsAttaches an identity. semigroupoids semigroupoids semigroupoids(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisional polykinds Trustworthy)*0Me 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  provisionalportableSafeO" 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  provisionalportableSafeP  semigroupoidsLift binary functions semigroupoidsLift ternary functions  :;=<  :;=<4(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportable TrustworthyW  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 semigroupoidsGHJIKDEFABCLM3(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafe[ 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 Trustworthy[(C) 2011-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett  provisionalportableSafe^) 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 Trustworthya 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 GHJIKDEFABCLMSafecD 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 ! " # $%&%' ()*)+%,%-./.0.123242526272829:;<=>?@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.0.1-3j0bU4gZaCw7F8BKTrU2dLData.Functor.ApplySemigroupoids.DoData.Bifunctor.ApplyData.Semigroup.Foldable.ClassData.Semigroup.FoldableData.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.Static semigroupoidsData.Traversable.InstancesSemigroupoids.InternalGHC.ConcSTMbaseGHC.BasefmapreturnpureFunctorData.Bifunctor Bifunctorbimap<$ Data.Functor<$>$>firstsecondData.Bifoldable1 Bifoldable1bifold1 bifoldMap1Data.Foldable1 Foldable1fold1foldMap1 toNonEmpty intercalate1foldrM1foldlM1'bifunctors-5.6.2-J6KbDUGPRiMLHHcsE5C219Data.Biapplicative<<$>>Extend 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 $fExtendListBiapply<<.>>.>><<.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 $fApplyMaybeT$fApplyHashMap $fApplyTree $fApplySeq $fApplyIntMap $fApplyMap$fApplyQ$fApplyComplex$fApplyWrappedArrow$fApplyWrappedMonad$fApplyIdentityT$fApplyIdentity $fApplyMaybe $fApplyIO $fApplyList$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 $fBindMaybeT$fBindWrappedMonad$fBindIdentityT$fBindQ$fBindIdentity $fBindMaybe$fBindIO$fBindNonEmpty $fBindList $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$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 $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$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 $fAltMaybeT $fAltReaderT$fAltIdentityT$fAltWrappedApplicative $fAltNonEmpty $fAltHashMap$fAltSeq $fAltIntMap$fAltMap$fAltWrappedArrow$fAltWrappedMonad $fAltMaybe $fAltList $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 $fPlusMaybeT $fPlusReaderT$fPlusIdentityT$fPlusWrappedApplicative $fPlusHashMap $fPlusSeq $fPlusIntMap $fPlusMap$fPlusWrappedArrow$fPlusWrappedMonad $fPlusMaybe $fPlusList$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-AVOTm0Ep2s7CyKccKptU9wControl.Comonad.Trans.StoreStoreTControl.Comonad.Trans.EnvEnvTtransformers-0.6.1.0Control.Monad.Trans.Writer.LazyWriterT!Control.Monad.Trans.Writer.Strictcontainers-0.6.7Data.IntMap.InternalIntMapData.Functor.ConstConstData.Functor.ConstantConstantControl.Monad.Trans.RWS.StrictRWSTControl.Monad.Trans.RWS.Lazy Semigroup)contravariant-1.5.5-D7uv6gRHfsshi2SiSflrv$Data.Functor.Contravariant.Divisible DivisibleconquerdivideData.Semigroup.Internal Data.EitherEitherLeftRight DecidableVoid:*:Category Alternative<|>ghc-prim GHC.TypesIOControl.Monad.Trans.ExceptExceptT GHC.MaybeMaybeData.Functor.IdentityIdentityempty Data.FoldableconcatString