úÎ%“ PR      !"#$%&'()*+,-./0123 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q portable provisionalEdward Kmett <ekmett@gmail.com>portable provisionalEdward Kmett <ekmett@gmail.com>portable provisionalEdward Kmett <ekmett@gmail.com> R     portable provisionalEdward Kmett <ekmett@gmail.com> portable provisionalEdward Kmett <ekmett@gmail.com> S   portable provisionalEdward Kmett <ekmett@gmail.com>;Ideally we would offer a way to lift comonad homomorphisms  but this isn'4t Haskell 98, so we settle for the most common case  here. 8 liftTrans :: (forall a. w a -> v a) -> t w a -> t v a * cohoist = liftTrans (Identity . extract) portable provisionalEdward Kmett <ekmett@gmail.com> TUV    portable provisionalEdward Kmett <ekmett@gmail.com> portable provisionalEdward Kmett <ekmett@gmail.com> !"WXY#$%&'( !"#$%&'( "#$ !%&'( !!"#$%&'(portable provisionalEdward Kmett <ekmett@gmail.com> )*+Z,-./012 )*+,-./012 +,-)*./012 )**+,-./012portable provisionalEdward Kmett <ekmett@gmail.com> )*+,-./012 portable provisionalEdward Kmett <ekmett@gmail.com> 345[6789:;< 3456789:;< 5673489:;< 34456789:;< portable provisionalEdward Kmett <ekmett@gmail.com> =>?@ABCDEF\ =>?@ABCDEF @AB=>?CDEF =>?>?@ABCDEF portable provisionalEdward Kmett <ekmett@gmail.com>GEThe f-branching stream comonad transformer is a comonadic version of  the "ListT done Right"> monad transformer. You can extract the underlying comonadic  value by using  or runStream HIJKLIsomorphic to the definition: ' data Stream f a = a :< f (Stream f a) M cons onto an f-branching stream N"uncons from an f-branching stream Ounfold a stream from a seed. ]^PQ_`abcdef GHIJKLMNOPQ LMNOGHIPQJK GHIHIJKKLMNOPQg !"#$% !"#$%&&'()*+,-. & & ' ( ) * + , - . / / 0 1 2 3 4 5 6 7 8 8 9 : ; < = > ? @ ABBCDECDEF F G H I J K L M N O P QRcomonad-transformers-0.7.0Control.Comonad.Trans.IdentityControl.Comonad.Trans.Class"Control.Comonad.Trans.Discont.Lazy$Control.Comonad.Trans.Discont.StrictControl.Comonad.Hoist.ClassControl.Comonad.Trans.Env.Lazy Control.Comonad.Trans.Env.Strict Control.Comonad.Trans.Store.Lazy"Control.Comonad.Trans.Store.StrictControl.Comonad.Trans.TracedControl.Comonad.Trans.StreamControl.Comonad.Trans.DiscontControl.Comonad.Trans.EnvControl.Comonad.Trans.Storetransformers-0.2.2.0Control.Monad.Trans.Identity runIdentityT IdentityT ComonadTranslowerDiscontTDiscontdiscont runDiscont runDiscontTlabelcallCV ComonadHoistcohoistEnvTEnvenvrunEnvrunEnvTaskaskslocalStoreTStorestorerunStore runStoreTgetputmodify experimentTracedT runTracedTTracedtraced runTracedtracelistenlistenscensorStreamT runStreamTNode:<Streamstream runStreamunfoldstailsunfoldsW discontTTyCon envTTyCon envTConstr envTDataType storeTTyCon tracedTTyConfstNsndNtypeFtypeW nodeTyCon streamTTyCon streamTConstrstreamTDataType nodeConstr nodeDataType