title: Compile error when union case has same name as type
body: <p>In this example on the last line, I want to create an instance of the type <code>A</code> but I get a compile error. When I hover over <code>A("A1")</code> I can see that <code>A</code> is taken to refer to the union case <code>TM.A</code> and not the type <code>A</code>. Can anyone explain what the compiler is doing here and how to avoid this error without needing to change the name of the union case (I'd like it to be the same as the type name)</p>
  
  <pre><code>type A(name:string)
      = member this.Name = name
  
  type T(name:string)
      = member this.Name = name
  
  type TK(t:T, a:List&lt;A&gt;) =
      member this.T = t
      member this.A = a
  
  type TM =
      | T of T 
      | A of A 
      | G of List&lt;T&gt;
  
  let a = A("A1")
  </code></pre>