úÎ(·# Z      !"#$%&'( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y portable provisionalEdward Kmett <ekmett@gmail.com>portable provisionalEdward Kmett <ekmett@gmail.com>    portable provisionalEdward Kmett <ekmett@gmail.com>portable provisionalEdward Kmett <ekmett@gmail.com>     portable provisionalEdward Kmett <ekmett@gmail.com> Z   portable provisionalEdward Kmett <ekmett@gmail.com> portable provisionalEdward Kmett <ekmett@gmail.com> [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>  !\]^"#$%&'  !"#$%&' !"# $%&'  !"#$%&'portable provisionalEdward Kmett <ekmett@gmail.com>  !"#$%&' portable provisionalEdward Kmett <ekmett@gmail.com> ()*_`a+,-./0 ()*+,-./0 *+,()-./0 ())*+,-./0 portable provisionalEdward Kmett <ekmett@gmail.com> 123b456789: 123456789: 345126789: 1223456789:portable provisionalEdward Kmett <ekmett@gmail.com> 123456789: portable provisionalEdward Kmett <ekmett@gmail.com> ;<=c>?@ABCD ;<=>?@ABCD =>?;<@ABCD ;<<=>?@ABCD portable provisionalEdward Kmett <ekmett@gmail.com> EFGHIJKLMNd EFGHIJKLMN HIJEFGKLMN EFGFGHIJKLMN portable provisionalEdward Kmett <ekmett@gmail.com>OEThe 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 PQRSTIsomorphic to the definition: ' data Stream f a = a :< f (Stream f a) U cons onto an f-branching stream V"uncons from an f-branching stream Wunfold a stream from a seed. efXYghijklmn OPQRSTUVWXY TUVWOPQXYRS OPQPQRSSTUVWXYo !"# !#"$%&&'()*+,- & & ' ( ) * + , - . . / 0 1 2 3 4 5 6 . . / 0 1 2 3 4 5 6 7 7 8 9 : ; < = > ? @ @ A B C D E F G H IJJKLM K L M N N O P Q R S T U V W X YZcomonad-transformers-0.10.1Control.Comonad.Trans.IdentityData.Functor.Extend.Trans.ClassData.Functor.CoproductControl.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 ExtendTranslower Coproduct getCoproductleftright coproduct ComonadTransDiscontTDiscontdiscont runDiscont runDiscontTlabelcallCV ComonadHoistcohoistEnvTEnvenvrunEnvrunEnvTaskaskslocalStoreTStorestorerunStore runStoreTgetputmodify experimentTracedT runTracedTTracedtraced runTracedtracelistenlistenscensorStreamT runStreamTNode:<Streamstream runStreamunfoldstailsunfoldsW discontTTyCon envTTyCon envTConstr envTDataType storeTTyCon tracedTTyConfstNsndNtypeFtypeW nodeTyCon streamTTyCon streamTConstrstreamTDataType nodeConstr nodeDataType