title: F# forward type declarations
body: <p>I stumbled across this problem in F#. Suppose, I want to declare two types that reference each other:</p>
  
  <pre><code>
  type firstType = 
       | T1 of secondType
       //................
  
  type secondType =
       | T1 of firstType  
       //................    
  </code></pre>
  
  <p>How do I do that, so the compiler does not generate an error?</p>