anchor.diff:  assertion 5l   (fun v -> (x :> IInterface<int>).GetIt(v) = v)
   assertion 6ul  (fun v -> (x :> IInterface<uint32>).GetIt(v) = v)
   assertion 7n   (fun v -> (x :> IInterface<nativeint>).GetIt(v) = v)
  -assertion 8un (fun v -> (x :> IInterface<unativeint>).GetIt(v) = v)
  +assertion 8un  (fun v -> (x :> IInterface<unativeint>).GetIt(v) = v)
   assertion 9L   (fun v -> (x :> IInterface<int64>).GetIt(v) = v)
   assertion 10UL  (fun v -> (x :> IInterface<uint64>).GetIt(v) = v)
   assertion 12.12  (fun v -> (x :> IInterface<double>).GetIt(v) = v)
  
positive.code:     abstract GetIt: 'a -> 'a
  
  type implementation () =
      interface IInterface<bool>                      with member _.GetIt(x) = x              // bool
      interface IInterface<byte>                      with member _.GetIt(x) = x              // byte
      interface IInterface<byte[]>                    with member _.GetIt(x) = x              // byte array
  
negative.code:     interface IInterface<AnEnum>                    with member _.GetIt(x) = x              // enum
      interface IInterface<ValueOption<string>>       with member _.GetIt(x) = x              // struct union
      interface IInterface<AStructRecord>             with member _.GetIt(x) = x              // struct record
      // Anonymous records are non-deterministic So don't include for il comparison
  #if !NO_ANONYMOUS
      interface IInterface<struct {|First:int;  Second:int|}>   with member _.GetIt(x) = x    // Anonymous record
  #endif
      interface IInterface<int -> int>                with member _.GetIt(x) = x              // func
      interface IInterface<float -> float>            with member _.GetIt(x) = x              // func
  """
  
      let ``Many Instantiations of the same interface - Asserts`` = """
  let x = implementation ()
  let assertion v assertIt =
      if not (assertIt(v)) then
  