[Haskell-cafe] How do I avoid stack overflows?