[Haskell-cafe] Strange memory consumption problems in something that should be tail-recursive