śĪ$oŅA      !"#$%&'()*+,-./0123456789:;<=>?@GADTs, MPTCs, fundeps provisionalEdward Kmett <ekmett@gmail.com>None>The contravariant Yoneda lemma applied to a covariant functor 'ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab&ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abMPTCs, fundeps provisionalEdward Kmett <ekmett@gmail.com>None, cdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…   * cdefghijklmnopqrstuvwxyz{|}~€‚ƒ„… rank 2 types experimentalEdward Kmett <ekmett@gmail.com>None and * witness a higher kinded adjunction. from ( `'Compose'` g) to  g  and  ) witness the natural isomorphism between Lan f h and  Compose h g given f -| g !! and "& witness the natural isomorphism from Lan f (Lan g h) and Lan (f o g) h  !"†‡ˆ‰ !" !" !"†‡ˆ‰"non-portable (rank-2 polymorphism) provisionalEdward Kmett <ekmett@gmail.com>None)GRight associate all binds in a computation that generates a free monad L This can improve the asymptotic efficiency of the result, while preserving  semantics. #$%&'()Š‹ŒŽ‘’“”•–#$%&'()#$%&'()#$%&'()Š‹ŒŽ‘’“”•–"non-portable (rank-2 polymorphism) provisionalEdward Kmett <ekmett@gmail.com>None*+,-./0123456789:;—˜™š›œžŸ ”¢*+,-./0123456789:;-./*+,0123456789:;*+,-./0123456789:;—˜™š›œžŸ ”¢non-portable (GADTs, MPTCs) experimentalEdward Kmett <ekmett@gmail.com>None>WThe natural isomorphism between a comonad w and the comonad generated by w (forwards). <=>?@£¤„¦§Ø<=>?@<=>?@ <=>?@£¤„¦§Ø©       !"##$%&'())*+,-./0123456789::;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_LMN`TRSUVYWX?@AB>OQPCDFEGHJIKZ[\]^_abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„kan-extensions-3.1!Data.Functor.Yoneda.ContravariantData.Functor.YonedaData.Functor.KanExtensionControl.Monad.CodensityControl.Monad.CoControl.Comonad.DensityYoneda liftYoneda lowerYonedalowerM runYonedamaxFminFmaxMminMLanRanrunRantoRanfromRan composeRan decomposeRan adjointToRan ranToAdjointranToComposedAdjointcomposedAdjointToRantoLanfromLan adjointToLan lanToAdjointlanToComposedAdjointcomposedAdjointToLan composeLan decomposeLan Codensity runCodensitylowerCodensitycodensityToAdjunctionadjunctionToCodensityimproveCoTrunCoTCocorunColiftCoT0 lowerCoT0lowerCo0liftCoT1 lowerCoT1lowerCo1posWpeekWpeeksWaskWasksWtraceWDensity liftDensitydensityToAdjunctionadjunctionToDensity$fAdjunctionYonedaYoneda $fOrdYoneda $fEqYoneda $fReadYoneda $fShowYoneda$fDistributiveYoneda$fTraversableWithKey1Yoneda$fTraversableWithKeyYoneda$fTraversable1Yoneda$fTraversableYoneda$fFoldableWithKey1Yoneda$fFoldable1Yoneda$fFoldableWithKeyYoneda$fFoldableYoneda$fComonadTransYoneda$fComonadYoneda$fExtendYoneda$fRepresentableYoneda$fIndexableYoneda$fLookupYoneda$fMonadPlusYoneda$fMonadFixYoneda$fMonadTransYoneda $fMonadYoneda $fBindYoneda $fPlusYoneda $fAltYoneda$fAlternativeYoneda$fZipWithKeyYoneda $fZipYoneda$fApplicativeYoneda $fApplyYoneda $fKeyedYoneda$fFunctorYoneda$fMonadFreefYoneda$fApplicativeLan $fApplyLan $fFunctorLan $fFunctorRan$fMonadStaterCodensity$fMonadFreefCodensity$fMonadPlusCodensity$fAlternativeCodensity$fPlusCodensity$fAltCodensity$fMonadTransCodensity$fMonadIOCodensity$fMonadCodensity$fApplicativeCodensity$fApplyCodensity$fFunctorCodensity$fMonadSpecCodensity$fMonadErroreCoT$fMonadWritereCoT$fMonadStatesCoT$fMonadReadereCoT $fMonadIOCoT$fMonadTransCoT $fMonadCoT$fApplicativeCoT $fBindCoT $fApplyCoT $fFunctorCoT$fMonadSpecCoT$fApplicativeDensity$fApplyDensity$fComonadTransDensity$fComonadDensity$fExtendDensity$fFunctorDensity