anchor.diff:          let inline PhysicalEquality x y     = HashCompare.PhysicalEqualityFast x y
           let inline PhysicalHash x           = HashCompare.PhysicalHashFast x
           
  -        let GenericComparer = HashCompare.fsComparerER :> System.Collections.IComparer
  +        let GenericComparer = HashCompare.fsComparerER
           let GenericEqualityComparer = HashCompare.fsEqualityComparerUnlimitedHashingPER
           let GenericEqualityERComparer = HashCompare.fsEqualityComparerUnlimitedHashingER
   
  
positive.code: 
                  let createCompareDelegate (tyRelation:Type) (ty:Type) : obj =
                      mos.takeFirstNonNull [|
                          fun () -> floatingPointTypes tyRelation ty
                          fun () -> standardTypes ty
                          fun () -> compilerGenerated tyRelation ty
  
negative.code:                     let concrete = def.MakeGenericType [|ct|]
                      let instance = Activator.CreateInstance concrete
                      upcast Delegate.CreateDelegate (makeCompareReturnType ty, instance, "CompareTo")
  
                  let mutable private tupleHandler = null
                  let addTupleHandler f =
                      match box tupleHandler with
                      | null -> tupleHandler <- f
                      | _ -> raise (Exception "invalid logic")
  
                  let tuples tyRelation ty =
                      match box tupleHandler with
                      | :? (Type -> Type -> obj) as handler -> handler tyRelation ty
                      | _ -> null
  
                  let floatingPointTypes (tyRelation:Type) (ty:Type) =
                      match tyRelation with
  