title: Problems adding extension to DenseVector type
body: <p>I am trying to add a method to the DenseVector class to be able to difference the vector n times. The following doesn't seem to work as type inference complains that the type Vector is not compatible with the type DenseVector:</p>
  
  <pre><code>open System
  open System.IO
  open Deedle
  open MathNet.Numerics
  open MathNet.Numerics.LinearAlgebra
  open MathNet.Numerics.LinearAlgebra.Double
  open MathNet.Numerics.Distributions
  
  [&lt;Extension&gt;]
  type DenseVector with
      member this.diffVector (v : DenseVector) (n : int) =
          let rec run (v : DenseVector) (n : int) =
              match n with
              | 0 -&gt; v
              | _ -&gt; run (v.[ 1 .. v.Count-1 ] - v.[ 0 .. (v.Count-1)-1 ]) (n - 1)
          run v n
  </code></pre>
  
  <p><code>v.[ 0 .. (v.Count-1)-1 ]</code> in the above is causing problems. Why is it being inferred as Vector and not DenseVector which is what is passed to the function? Also, is my way of adding the extension method correct?</p>