[Haskell-cafe] Why does this blow the stack?