Three 'Game of Life' Implementations in Haskell