[Haskell-cafe] Flattening tail recursion?