[Haskell-cafe] Type systems preventing laziness-related memory leaks?