anchor.diff:                              eliminate_tail_call_int (cth (cth (cth a b) (cth c d)) (cth (cth e f) (cth g h)))
                   
                   let getEssenceOfGetHashCodeType ty =
  -                    let x = typedefof<GenericSpecializeHash.Function<_>>
  -                    let o = x.MakeGenericType [|ty|]
  -                    match Activator.CreateInstance o with
  +                    let genericSpecializeHashDef = typedefof<GenericSpecializeHash.Function<_>>
  +                    let concreteSpecializeHash = genericSpecializeHashDef.MakeGenericType [|ty|]
  +                    match Activator.CreateInstance concreteSpecializeHash with
                       | :? GenericSpecializeHash.IGetEssenceOfGetHashCodeType as getter -> getter.Get ()
                       | _ -> raise (Exception "invalid logic")
   
  -                let getEssenceOfEqualsType ty =
  -                    let x = typedefof<GenericSpecializeEquals.Function<_,_>>
  -                    let o = x.MakeGenericType [|typeof<EquivalenceRelation>; ty|]
  -                    match Activator.CreateInstance o with
  +                let getEssenceOfEqualsType tyRelation ty =
  +                    let genericSpecializeEqualsDef = typedefof<GenericSpecializeEquals.Function<_,_>>
  +                    let concreteSpecializeEquals = genericSpecializeEqualsDef.MakeGenericType [| tyRelation; ty|]
  +                    match Activator.CreateInstance concreteSpecializeEquals with
                       | :? GenericSpecializeEquals.IGetEssenceOfEqualsType as getter -> getter.Get ()
                       | _ -> raise (Exception "invalid logic")
   
  
positive.code:                 match comp with
                  | :? GenericComparer as info ->
                      match info.ComparerType with
                      | ComparerType.ER     -> eliminate_tail_call_int (GenericComparisonWithERIntrinsic_inline comp x y)
                      | ComparerType.PER_gt -> eliminate_tail_call_int (GenericSpecializeCompareTo.Function<PartialEquivalenceRelation,_>.Func.Ensorcel (comp, x, y))
                      | ComparerType.PER_lt -> eliminate_tail_call_int (GenericSpecializeCompareTo.Function<PartialEquivalenceRelation,_>.Func.Ensorcel (comp, x, y))
                      | _ -> raise (Exception "invalid logic")
  
negative.code:                 let iec = CountLimitedHasherPER limit
                  eliminate_tail_call_int (GenericSpecializeHash.Function<_>.Func.Ensorcel (iec, x))
  
              /// Intrinsic for a recursive call to structural hashing that was not optimized by static conditionals.
              //
              // "iec" is assumed to be either fsEqualityComparerUnlimitedHashingER, fsEqualityComparerUnlimitedHashingPER or 
  