anchor.diff:                              let tyDef = ty.GetGenericTypeDefinition ()
                               let tyDefArgs = ty.GetGenericArguments ()
                               let create = mos.compositeType (Helpers.getEssenceOfEqualsType tyRelation) tyDefArgs
  -                            if   tyDef.Equals typedefof<Tuple<_>>               then create typedefof<Specializations.EqualsTypes.Tuple<int,u>>
  -                            elif tyDef.Equals typedefof<Tuple<_,_>>             then create typedefof<Specializations.EqualsTypes.Tuple<int,int,u,u>>
  -                            elif tyDef.Equals typedefof<Tuple<_,_,_>>           then create typedefof<Specializations.EqualsTypes.Tuple<int,int,int,u,u,u>>
  -                            elif tyDef.Equals typedefof<Tuple<_,_,_,_>>         then create typedefof<Specializations.EqualsTypes.Tuple<int,int,int,int,u,u,u,u>>
  -                            elif tyDef.Equals typedefof<Tuple<_,_,_,_,_>>       then create typedefof<Specializations.EqualsTypes.Tuple<int,int,int,int,int,u,u,u,u,u>>
  -                            elif tyDef.Equals typedefof<Tuple<_,_,_,_,_,_>>     then create typedefof<Specializations.EqualsTypes.Tuple<int,int,int,int,int,int,u,u,u,u,u,u>>
  -                            elif tyDef.Equals typedefof<Tuple<_,_,_,_,_,_,_>>   then create typedefof<Specializations.EqualsTypes.Tuple<int,int,int,int,int,int,int,u,u,u,u,u,u,u>>
  -                            elif tyDef.Equals typedefof<Tuple<_,_,_,_,_,_,_,_>> then create typedefof<Specializations.EqualsTypes.Tuple<int,int,int,int,int,int,int,int,u,u,u,u,u,u,u,u>>
  +                            if   tyDef.Equals typedefof<Tuple<_>>               then create typedefof<EqualsTypes.Tuple<int,u>>
  +                            elif tyDef.Equals typedefof<Tuple<_,_>>             then create typedefof<EqualsTypes.Tuple<int,int,u,u>>
  +                            elif tyDef.Equals typedefof<Tuple<_,_,_>>           then create typedefof<EqualsTypes.Tuple<int,int,int,u,u,u>>
  +                            elif tyDef.Equals typedefof<Tuple<_,_,_,_>>         then create typedefof<EqualsTypes.Tuple<int,int,int,int,u,u,u,u>>
  +                            elif tyDef.Equals typedefof<Tuple<_,_,_,_,_>>       then create typedefof<EqualsTypes.Tuple<int,int,int,int,int,u,u,u,u,u>>
  +                            elif tyDef.Equals typedefof<Tuple<_,_,_,_,_,_>>     then create typedefof<EqualsTypes.Tuple<int,int,int,int,int,int,u,u,u,u,u,u>>
  +                            elif tyDef.Equals typedefof<Tuple<_,_,_,_,_,_,_>>   then create typedefof<EqualsTypes.Tuple<int,int,int,int,int,int,int,u,u,u,u,u,u,u>>
  +                            elif tyDef.Equals typedefof<Tuple<_,_,_,_,_,_,_,_>> then create typedefof<EqualsTypes.Tuple<int,int,int,int,int,int,int,int,u,u,u,u,u,u,u,u>>
                               else null
                           else null
   
  
positive.code: 
                      [<Struct; NoComparison; NoEquality>]
                      type ComparableGeneric<'a when 'a : not struct and 'a : null and 'a :> IComparable<'a>> =
                          interface Specializations.IEssenceOfCompareTo<'a> with
                              member __.Ensorcel (_:IComparer, x:'a, y:'a) =
                                  match x, y with
                                  | null, null -> 0
  
negative.code: 
              [<Sealed>]
              type EssenceOfComparer<'a, 'comp
                      when 'comp  :> IEssenceOfCompareTo<'a> and 'comp : (new : unit -> 'comp) and 'comp : struct>() =
                  
                  interface IComparer<'a> with
                      member __.Compare (x:'a, y:'a) =
  