anchor.diff:                      let x = typedefof<GenericSpecializeHash.Function<_>>
                       let o = x.MakeGenericType [|ty|]
                       match Activator.CreateInstance o with
  -                    | :? GenericSpecializeHash.IGetEssenceOfEqualsObj as getter -> getter.Get ()
  +                    | :? GenericSpecializeHash.IGetEssenceOfGetHashCodeObj as getter -> getter.Get ()
  +                    | _ -> raise (Exception "invalid logic")
  +
  +                let getEssenceOfEqualsObj ty =
  +                    let x = typedefof<GenericSpecializeEquals.Function<_,_>>
  +                    let o = x.MakeGenericType [|typeof<EquivalenceRelation>; ty|]
  +                    match Activator.CreateInstance o with
  +                    | :? GenericSpecializeEquals.IGetEssenceOfEqualsObj as getter -> getter.Get ()
                       | _ -> raise (Exception "invalid logic")
   
                   type t = Specializations.GetHashCodeTypes.Int32
  
positive.code:                              //makeTupleGetHashCodeDelegate ty tyDefArgs typedefof<TupleEREqualityComparer<_,_,_,_,_>>                
                          else null
                      else null
  //                GenericSpecializeEquals.addTupleHandler (box tuplesEquals)
                  GenericSpecializeHash.addTupleHandler (box tuplesGetHashCode)
  
  #else
  
negative.code: 
                      static member Func = func
  
                      interface IGetEssenceOfGetHashCodeObj with
                          member __.Get () = box func
  
              /// Intrinsic for calls to depth-unlimited structural hashing that were not optimized by static conditionals.
  