[Haskell-cafe] Optimizing cellular automata & the beauty of unlifted types