Cofree.flatMap, bind, monad, point