anchor.diff:      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
  -#if !NO_ANONYMOUS        // Anonymous records are non-deterministic So don't include for il comparison
  +    // 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
  
positive.code: open FSharp.Compiler.SourceCodeServices
  open NUnit.Framework
  open FSharp.TestHelpers
  
  [<TestFixture>]
  module InterfaceTests =
  
negative.code: 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 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)
  