Added stuff for Comonad, but it seems I took a wrong turn