title: Creating more than one root type with generative type provider
body: <p>Generative type providers seem to have an issue with having more than one root type.
  Complete repro is available here: <a href="https://gist.github.com/dsevastianov/46d1a8495c4af46a9875" rel="nofollow">https://gist.github.com/dsevastianov/46d1a8495c4af46a9875</a>. Following example </p>
  
  <pre><code>#r @"SampleProvider.dll"
  type Birch = Sample.Sample&lt;"birch"&gt;
  type Elm = Sample.Sample&lt;"elm"&gt;
  
  let birch = Birch.birch()
  let elm = Elm.elm()
  elm.Branches &lt;- ([|Elm.elm()|])
  </code></pre>
  
  <p>fails at compile time (not at design time):</p>
  
  <pre><code>FSC: error FS2014: A problem occurred writing the binary 'obj\Debug\Tests.dll': 
  Error in pass3 for type Schema, error: Error in GetMethodRefAsMethodDefIdx for 
  mref = (".ctor", "ZipLookup"), error: Exception of type Microsoft.FSharp.Compiler.AbstractIL.ILBinaryWriter+MethodDefNotFound' was thrown.
  </code></pre>