title: F# strange printfn problem
body: <p>I was playing around with F# (Visual Studio 2010 beta 1), and I wrote a little console script that asked the user to input 2 numbers and an operator and then executed it.
  It works fine, apart from a tiny, but annoying thing: sometimes my printfn instructions are ignored. I placed breakpoints in the code to see that's indeed the case.</p>
  
  <p>The code snippet:</p>
  
  <pre><code>let convert (source : string) =
      try System.Int32.Parse(source)
      with :? System.FormatException -&gt;
          printfn "'%s' is not a number!" source;
          waitForExitKey();
          exit 1
  
  let read =
      printfn "Please enter a number.";
      System.Console.ReadLine
  
  let num1 : int = read() |&gt; convert // the printfn in the read function is run...
  let num2 : int = read() |&gt; convert // ... but here is ignored
  </code></pre>
  
  <p>This is not the complete source of course, but I think that'll be enough. If you need the complete source just let me know.</p>
  
  <p>So my question is pretty simple: what causes this issue with printfn? Am I doing something wrong?</p>
  
  <p>Thanks in advance,
  ShdNx</p>