Haskell 2010 stream comonads