!      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe,-1;<=>?@ADHUV_hSafe,-1;<=>?@ADHUV_h Safe,-1;<=>?@ADHUV_h %category where every morphism is isoLaws:  = f   f  =  f  f Safe,-1;<=>?@ADHUV_h Safe,-1;<=>?@ADHSUVX_h categoryLaws:   =   (f  g) =  f   g   4Safe,-1;<=>?@ADHUV_h/0/0Safe,-1;<=>?@ADEHUVX_h89:;<=>?@ABDCEFGHIBDCEFG?@A;<=>HI89:F1G1H1I1Safe,-1;<=>?@ADHUV_h!mnomnoSafe,-1;<=>?@ADHSUVX_huvwuvw Safe,-1;<=>?@ADHUV_hcategoryNotes: ! '()' is the indiscrete category.   !"#$%&'()*+,-./01234567899:;<=>?@AABCDEFGGHIJKLMNOPQRSTUVW*XYZ[\]^_`abcdefghijklmnopqrsstuvwxyzz{|}~   'category-0.2.5.0-Dhw1Q4OjId592HVSDBRuVXData.Functor.Trans.IdentityControl.Category.GroupoidData.Morphism.EndoControl.Categorical.FunctorData.Morphism.IsoControl.Categorical.MonadData.Functor.Trans.WriterData.Functor.Trans.ReaderControl.Category.Const2Preludetransformers-0.5.5.0Control.Monad.Trans.Identity runIdentityT IdentityTGroupoidinvert$fGroupoidkDualEndoendo $fGroupEndo $fMonoidEndo$fSemigroupEndoNTnt Endofunctor EndoFunctorFunctormap<$>$fFunctorkTYPEs->IdentityT$fFunctorαβDualDualf$fFunctorαTYPEs->s$fFunctorTYPETYPE->->Either$fFunctorTYPETYPE->->(,)$fFunctorαTYPEs->Proxy$fFunctorTYPETYPE->->Identity$fFunctorαTYPEs->Const$fFunctorkTYPEs->Product$fFunctorkTYPEs->Sum$fFunctorTYPETYPE->->f$fFunctor->->NTNTf$fFunctor->->NTNTIdentityT$fFunctorα->sDualf$fFunctorα->DualNTf$fFunctork->DualNTs$fFunctorTYPE->->NTEither$fFunctorTYPE->->NT(,)$fFunctorTYPE->->NTConst$fFunctor->->NTNTProduct$fFunctor->->NTNTProduct0$fFunctor->->NTNTSum$fFunctor->->NTNTSum0$fFunctor->->NTNTCompose$fFunctor->->NTNTCompose0$fGroupoid->NT$fCategory->NTIso$fFunctorαβIsoDualf$fFunctorαβIsotf$fGroupoidkIso$fCategorykIso $fGroupIso $fMonoidIso$fSemigroupIso Cokleisli cokleisliComonadcounitcutcobindKleislikleisliMonadunitjoinbind<=<>=>=<==>=$fMonadTYPE->IdentityT$fMonad->NTIdentityT$fMonadTYPE->m$fFunctorTYPE->KleisliNT(,)"$fFunctorTYPETYPEKleisliKleisli(,)$fFunctorkTYPEsKleisliIdentityT$fMonad->NTIdentityT0$fFunctor->->NTNTIdentityT0$fFunctorββKleislism$fFunctork->DualNTKleisli$fFunctorkTYPEs->Kleisli$fCategorykKleisli$fComonadTYPE->IdentityT$fComonad->NTIdentityT$fComonad->NTIdentityT0$fComonadTYPE->Arg$fComonadTYPE->(,)$fComonadTYPE->->$fComonadTYPE->NonEmpty$fComonadTYPE->Identity $fMonad->NTf$fMonadβDualf!$fFunctorkTYPEsCokleisliIdentityT$fComonad->NTIdentityT1$fMonad->NTIdentityT1$fFunctor->->NTNTIdentityT1$fFunctorββCokleislisɯ$fFunctork->DualNTCokleisli$fFunctorkTYPEs->Cokleisli$fCategorykCokleisli$fMonadBaseMonad$fApplicativeBaseMonad$fFunctorBaseMonad $fFunctorTYPETYPEKleisliKleislifWriterT runWriterT$fFunctor->->NTNTWriterT$fMonadTYPE->WriterT$fComonadTYPE->WriterT$fMonadTYPE->WriterT0$fFunctorkTYPEs->WriterTReaderT runReaderT$fFunctork->tNTReaderT$fComonad->NTReaderT$fMonad->NTReaderT$fFunctor->->NTNTReaderT$fComonadTYPE->ReaderT$fMonadTYPE->ReaderT$fFunctorkTYPEt->ReaderT$fFunctorkTYPEs->ReaderTConst2 getConst2$fGroupoidkConst2$fCategorykConst2$fFunctorTYPE->KleisliNTConst2$fFunctorTYPE->->NTConst2$fSemigroupConst2$fMonoidConst2 $fGroupConst2$fPartialEqConst2$fPreordConst2 $fEqConst2$fPartialOrdConst2 $fOrdConst2baseGHC.Base Semigroup<>stimessconcatMonoidmemptymappendmconcat Data.EitherEitherLeftRight#alg-0.2.13.1-4WKS0oCgIE9BFstT30CJTAAlgebraGroup fromRightfromLeftisRightisLeftpartitionEithersrightsleftseitherControl.Category>>><<<Categoryid.