Haskell 98 comonads