title: Error with recursive IO
body: <p>Why doesn't this code work?</p>
  
  <pre><code>xMal 0 _ = return ()
  xMal n text =
   do
    text
      xMal (n-1) text
  main = xMal (putStrLn t &lt;- getLine) (n &lt;- readLn)
  </code></pre>
  
  <p>I expect to be able to get a number and string as input.</p>