Cofree(作家 w)WriterT w Stream

特定

data Writer w a = Writer w a

我們有

data Cofree (Writer w) a
     = a :< (w, Cofree (Writer w) a)

這相當於

data Stream (w,a)
     = Stream (w,a) (Stream (w,a))

哪個可以正確寫成 WriterT w Stream

data WriterT w m a = WriterT (m (w,a))