anchor.diff:              // NOTE: The compiler optimizer is aware of this function (see uses of generic_hash_withc_inner_vref in opt.fs)
               // and devirtualizes calls to it based on type "T".
               let GenericHashWithComparerIntrinsic<'T> (iec : System.Collections.IEqualityComparer) (x : 'T) : int =
  -                eliminate_tail_call_int (GenericSpecializeHash.Function<UnknownRelation,_>.Invoker.Invoke (iec, x))
  +                eliminate_tail_call_int (GenericSpecializeHash.Function<_>.Invoker.Invoke (iec, x))
   
               [<Sealed>]
               type EssenceOfEqualityComparer<'a, 'eq, 'ghc
  
positive.code:                     Activator.CreateInstance wrapperType
                              
                  type t = GetHashCodeTypes.Int32
                  type Function<'relation, 'a>() =
                      static let essenceType : Type =
                          getGetHashCodeEssenceType typeof<'relation> typeof<'a> Helpers.tuplesGetHashCode
  
                      static let invoker : GetHashCodeInvoker<'a> =
                          unboxPrim (makeGetHashCodeWrapper typeof<'a> essenceType)
  
negative.code:                 let defaultGetHashCode ty =
                      mos.makeType ty typedefof<GenericHashParamObject<_>>
  
                  let getGetHashCodeEssenceType (t:Type) tuples : Type =
                      mos.takeFirstNonNull [|
                          fun () -> tuples t
                          fun () -> standardTypes t
                          fun () -> arrays t
                          fun () -> nullableType t
                          fun () -> structualEquatable t
  