anchor.diff:                      let func4Typedef = typedefof<Func<_,_,_,_>>
                       func4Typedef.MakeGenericType [| typeof<IEqualityComparer>; ty; ty; typeof<bool> |]
   
  -#if FX_ATLEAST_40 // Missing Delegate.CreateDelegate in portable47
                   let makeEquatableDelegate (ty:Type) (ct:Type) (def:Type) : obj =
                       let concrete = def.MakeGenericType [|ct|]
                       let instance = Activator.CreateInstance concrete
  
positive.code:                         && isCompilerGeneratedInterfaceMethod ty typeof<IStructuralEquatable> "Equals" [|typeof<obj>; typeof<IEqualityComparer>|]
                          && isCompilerGeneratedMethod ty "Equals" [|typeof<obj>|] 
                      | _ -> false
      #else
                      ignore ty
                      false
      #endif
  
                  let withRelation tyRelation ty : obj =
                      let pass0 : obj =
  
negative.code:                         | f -> unboxPrim f
  
                      static member Func = func
  
              /// Implements generic equality between two values, with PER semantics for NaN (so equality on two NaN values returns false)
              //
  