anchor.diff:  
   
               
  -            badInit()
  +            //badInit()
               m.TryInvoke(args, &res) |> ignore
   
               for i in 0..1000 do
                   m.InvokeUnsafe(args) |> ignore
   
   
  -            System.GC.Collect()
  +            System.GC.Collect(3)
               System.GC.WaitForFullGCComplete() |> ignore
   
               sw.Start()
  
positive.code:     type A = 
          class
              val mutable public V : obj
              interface IA<float32> with
                  member x.V = x.V
                  member x.Sepp() = x.V
  
              new(v) = { V = v }
          end
  
      type B(a : obj) =
          inherit A(a)
          member x.A = a
  
      type C(v : obj) =
  
negative.code:             printfn "virt: %.3fns" t
              t
  
          let staticCall() =
              let s = Sepp()
              let args = D 10
              let sw = Stopwatch()
              let mutable iter = 0
              let mutable res = Unchecked.defaultof<obj>
  
              for i in 0..1000 do
                  Sepp.Value(args) |> ignore
  
  
              System.GC.Collect()
              System.GC.WaitForFullGCComplete() |> ignore
  
              sw.Start()
              for i in 1..iterations do
                  Sepp.Value(args) |> ignore
                  iter <- iter + 1
              sw.Stop()
              let t = (1000000.0 * sw.Elapsed.TotalMilliseconds / float iter)
              printfn "stat: %.3fns" t
              t
  
  
          let log = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "callPerf.csv")
          File.WriteAllText(log, "nop;virtual;dispatcher;multimethods;static\r\n")
          for i in 1..50 do
              let tNop = nop()
              let tOurs = ours()
              let tVirt = virtualCall()
              let tStat = staticCall()
              let tDisp = dispatcher()
              let line = sprintf "%.3f;%.3f;%.3f;%.3f;%.3f" tNop tVirt tDisp tOurs tStat
              File.AppendAllLines(log, [line])
              System.GC.Collect()
              System.GC.WaitForFullGCComplete() |> ignore
  