title: Weird C# / F# difference in a declaration, code compiling in C# but not in F#
body: <p>The line is to instantiate a queue of data points for the InfluxDB driver:</p>
  
  <p>C#</p>
  
  <pre><code>Events = new ConcurrentQueue&lt;InfluxDatapoint&lt;InfluxValueField&gt;&gt;();
  </code></pre>
  
  <p>F#</p>
  
  <pre><code>let Events = new ConcurrentQueue&lt;InfluxDatapoint&lt;InfluxValueField&gt;&gt;()
  </code></pre>
  
  <p>in C#, it compiles without problem, but in F#, I get this:</p>
  
  <blockquote>
    <p>[FS0001] The type 'InfluxValueField' is not compatible with the type 'IComparable'</p>
  </blockquote>
  
  <p>Following the comment from canton7, here is the source for both external elements:</p>
  
  <p>InfluxValueField: <a href="https://github.com/AdysTech/InfluxDB.Client.Net/blob/master/src/DataStructures/InfluxValueField.cs" rel="nofollow noreferrer">https://github.com/AdysTech/InfluxDB.Client.Net/blob/master/src/DataStructures/InfluxValueField.cs</a></p>
  
  <p>InfluxDataPoint: <a href="https://github.com/AdysTech/InfluxDB.Client.Net/blob/master/src/DataStructures/InfluxDatapoint.cs" rel="nofollow noreferrer">https://github.com/AdysTech/InfluxDB.Client.Net/blob/master/src/DataStructures/InfluxDatapoint.cs</a></p>
  
  <p>What could cause it to compile in C# but not in F#?</p>
  
  <hr>
  
  <p>Edit:</p>
  
  <p>Here are two code examples:</p>
  
  <p>C#</p>
  
  <pre><code>namespace A
  {
      using System.Collections.Concurrent;
      using AdysTech.InfluxDB.Client.Net;
  
      public class test
      {
          public test()
          {
              var Events = new ConcurrentQueue&lt;InfluxDatapoint&lt;InfluxValueField&gt;&gt;();
          }
      }
  }
  </code></pre>
  
  <p>F#</p>
  
  <pre><code>namespace A
  
  open System.Collections.Concurrent
  open AdysTech.InfluxDB.Client.Net
  
      module B =
          let Events = new ConcurrentQueue&lt;InfluxDatapoint&lt;InfluxValueField&gt;&gt;()
  </code></pre>