úÎ$m!Û/      !"#$%&'()*+,-.MPTCs, fundeps provisionalEdward Kmett <ekmett@gmail.com>      #An adjunction from Hask^op to Hask   Op (f a) b ~ Hask a (g b)   rightAdjunct unit = id  leftAdjunct counit = id 5Any adjunction from Hask to Hask^op would indirectly 7 permit unsafePerformIO, and therefore does not exist. :Represent a contravariant functor that has a left adjoint /'This gives rise to the Cont Bool monad 0-This adjunction gives rise to the Cont monad      MPTCs, fundeps provisionalEdward Kmett <ekmett@gmail.com>rank 2 types, MPTCs, fundeps experimentalEdward Kmett <ekmett@gmail.com> %An adjunction between Hask and Hask. Minimal definition: both  and  or both  and , W subject to the constraints imposed by the default definitions that the following laws  should hold.   unit = leftAdjunct id  counit = rightAdjunct id  leftAdjunct f = fmap f . unit " rightAdjunct f = counit . fmap f .Any implementation is required to ensure that  and  witness  an isomorphism from  Nat (f a, b) to  Nat (a, g b)  rightAdjunct unit = id  leftAdjunct counit = id SEvery right adjoint is representable by its left adjoint applied to a unit element ^Use this definition and the primitives in Data.Functor.Representable to meet the requirements ' of the superclasses of Representable. >A right adjoint functor admits an intrinsic notion of zipping +Every functor in Haskell permits unzipping :A left adjoint must be inhabited, or we can derive bottom !<And a left adjoint must be inhabited by exactly one element "!Every functor in Haskell permits  uncozipping  !"  !"  !"MPTCs, fundeps provisionalEdward Kmett <ekmett@gmail.com>#$%&'(#$%&'(&('#$%#$%$%&'(MPTCs, fundeps provisionalEdward Kmett <ekmett@gmail.com>)*+,-.1iExploiting this instance requires that we have the missing Traversables for Identity, (,)e and IdentityT )*+,-.,.-)*+)*+*+,-.2      !"#$%&adjunctions-0.9.2Control.Monad.Trans.Conts%Data.Functor.Contravariant.Adjunction)Control.Monad.Trans.Contravariant.AdjointData.Functor.AdjunctionControl.Comonad.Trans.AdjointControl.Monad.Trans.AdjointContsT runContsTContsContcontrunContcontsrunContscallCC Adjunctionunitcounit leftAdjunct rightAdjunctcorepAdjunctioncoindexAdjunctionAdjointT runAdjointTAdjointadjoint runAdjointtabulateAdjunctionindexAdjunctionzipRunzipF inhabitedLcozipLuncozipF$fAdjunctionPredicatePredicate$fAdjunctionOpOp$fMonadTransAdjointT