anchor.diff:      f(2.0) = 6.0)
   """
   
  +    let ``Many Instantiations of the same interface`` =
  +        ``Many Instantiations of the same interface - SetUp`` + ``Many Instantiations of the same interface - Asserts``
  +
  +
       [<Test>]
       let MultipleTypedInterfacesFSharp50() =
  -        CompilerAssert.PassWithOptions
  -            [| "--langversion:preview" |]
  -            ``Many Instantiations of the same interface``
  +
  +#if NETSTANDARD
  +        let csCmpl =
  +            CompilationUtil.CreateCSharpCompilation(``C# base with dim``, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
  +            |> CompilationReference.Create
  +#endif
  +
  +        let fsCmpl =
  +            Compilation.Create(
  +                ``Many Instantiations of the same interface - SetUp`` +
  +                ``Many Instantiations of the same interface - Asserts``,
  +                Fs, Library, 
  +                options = [|
  +                    "--langversion:preview";
  +#if !NETSTANDARD
  +                |])
  +#else
  +                    "--define:NETSTANDARD";
  +                    "--define:TEST_DIMS";
  +                |],
  +                cmplRefs = [csCmpl])
  +#endif
  +
  +        CompilerAssert.Compile fsCmpl
   
       [<Test>]
       let MultipleTypedInterfacesFSharp47() =
           CompilerAssert.TypeCheckWithErrorsAndOptions
  -            [| "--langversion:4.7" |]
  +            [|
  +                "--langversion:4.7";
  +#if NETSTANDARD
  +                "--define:NETSTANDARD";
  +#endif
  +            |]
               ``Many Instantiations of the same interface``
               [|
  -                (FSharpErrorSeverity.Error, 443, (21,6,21,20), "This type implements the same interface at different generic instantiations 'IInterface<AnEnum>' and 'IInterface<bigint>'. This is not permitted in this version of F#.")
  +                (FSharpErrorSeverity.Error, 443, (24, 6, 24, 20), "This type implements the same interface at different generic instantiations 'IInterface<(float -> float)>' and 'IInterface<(int -> int)>'. This is not permitted in this version of F#.")
               |]
   
       [<Test>]
       let MultipleTypedInterfacesFSharp50VerifyIl() =
           CompilerAssert.CompileLibraryAndVerifyILWithOptions
  -            [| "--langversion:preview"; "--deterministic+"; "--define:NO_ANONYMOUS" |]
  -            ``Many Instantiations of the same interface``
  +            [|
  +                "--langversion:preview"; 
  +                "--deterministic+";
  +                "--define:NO_ANONYMOUS";
  +#if NETSTANDARD
  +                "--define:NETSTANDARD";
  +#endif
  +            |]
  +            ``Many Instantiations of the same interface - SetUp``
               (fun verifier -> verifier.VerifyIL ["""
   .class auto ansi serializable nested public implementation
          extends [mscorlib]System.Object
  
positive.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)
  
negative.code:         raise (new Exception (sprintf "Failed to retrieve %A from implementation" v))
  
  // Ensure we can invoke the method and get the value back for each native F# type
  #if TEST_DIMS
  assertion 7 (fun v -> (x :> ITestDim).GetIt(v) = v)
  #endif
  
  assertion true (fun v -> (x :> IInterface<bool>).GetIt(v) = v)
  assertion 1uy  (fun v -> (x :> IInterface<byte>).GetIt(v) = v)
  assertion 2y   (fun v -> (x :> IInterface<sbyte>).GetIt(v) = v)
  