Game of life through haskell comonads