title: F# return ICollection
body: <p>I'm working with a library created in C#. I've been working on porting some code to F# but must use quite a few underlying types from the C# lib.</p>
  
  <p>One piece of code needs to calculate a list of values and assign it to a public field/property in the class. The field is a C# class that contains two ICollection.</p>
  
  <p>My F# code works fine and needs to return an F# Seq/List.</p>
  
  <p>I tried the following code snippets which each produce errors.</p>
  
  <ul>
  <li>Return type of F# member is a type called recoveryList with type Recoveries list</li>
  <li><p>Public field in class that is a class itself containing two ICollection objects</p>
  
  <pre><code>this.field.Collection1 = recoveries
  </code></pre></li>
  </ul>
  
  <p>This gives the error Expected to have type ICollection but has type Recoveries list</p>
  
  <pre><code>this.field.Collection1 = new ResizeArray&lt;Recoveries&gt;()
  </code></pre>
  
  <p>Gives the error expected type ICollection but is ResizeArray</p>
  
  <pre><code>this.field.Collection1 = new System.Collections.Generic.List&lt;Recoveries&gt;()
  </code></pre>
  
  <p>Same error as above - expected ICollection but type is List</p>
  
  <p>Any ideas? These operations seem valid from a C# point of view and List/ResizeArray implements ICollection so... I am confused how to assign the value.</p>
  
  <p>I could change the type of the underlying C# library, but this might have other implications.</p>
  
  <p>Thanks</p>