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))