úÎsR9      !"#$%&'()*+,-./012345678#An adjunction from Hask to Hask^op   Hask (f a) b ~ Op a (g b)  rightAdjunct unit = id  leftAdjunct counit = id  ,A representation of a contravariant functor  #An adjunction from Hask^op to Hask   Op (f a) b ~ Hask a (g b)  rightAdjunct unit = id  leftAdjunct counit = id :Represent a contravariant functor that has a left adjoint 9'This gives rise to the Cont Bool monad :-This adjunction gives rise to the Cont monad      rank 2 types, MPTCs, fundeps experimentalEdward Kmett <ekmett@gmail.com> %An adjunction between Hask and Hask.  rightAdjunct unit = id  leftAdjunct counit = id    MPTCs, fundeps provisionalEdward Kmett <ekmett@gmail.com>;iExploiting this instance requires that we have the missing Traversables for Identity, (,)e and IdentityT MPTCs, fundeps provisionalEdward Kmett <ekmett@gmail.com> !"#$% !"#$%#%$ !" !"!"#$%rank-2 types, MPTCs experimentalEdward Kmett <ekmett@gmail.com>&'()*+,-<./012 &'()*+,-./012 )*+,-./&'(012 &'('()*+*+,-./012MPTCs, fundeps provisionalEdward Kmett <ekmett@gmail.com>34567834567868734534545678=         !"#$%&''()*+,-./0adjunctions-0.3)Data.Functor.Contravariant.DualAdjunction%Data.Functor.Contravariant.AdjunctionData.Functor.AdjunctionControl.Monad.Trans.AdjointControl.Comonad.Trans.AdjointData.Functor.ZapControl.Monad.ContraDualAdjunctionunitOpcounitOp leftAdjunctOprightAdjunctOpRepresentationrepunrep Adjunctionunitcounit leftAdjunct rightAdjunct repAdjunctionrepFlippedAdjunctionAdjointT runAdjointTAdjointadjoint runAdjointBizap bizapWithZapzapWithzapflipZap zapAdjunction composeZapbizap flipBizapbizapProductSumContraT runContraTContracontra runContra$fAdjunctionPredicatePredicate$fAdjunctionOpOp$fMonadTransAdjointTstrength