[Haskell-cafe] Tail Recursion within the IO Monad