anchor.diff:                              | null, _ -> -1
                               | _, null -> +1
                               | _, _ ->
  -                                match Specializations.FlaconOfComparer<'a, 'comp1>.Instance.Ensorcel (comparer, x.Item1, y.Item1) with
  +                                match phantom<'comp1>.Ensorcel (comparer, x.Item1, y.Item1) with
                                   | x when x <> 0 -> x
                                   | _ ->
  -                                match Specializations.FlaconOfComparer<'b, 'comp2>.Instance.Ensorcel (comparer, x.Item2, y.Item2) with
  +                                match phantom<'comp2>.Ensorcel (comparer, x.Item2, y.Item2) with
                                   | x when x <> 0 -> x
                                   | _ ->
  -                                match Specializations.FlaconOfComparer<'c, 'comp3>.Instance.Ensorcel (comparer, x.Item3, y.Item3) with
  +                                match phantom<'comp3>.Ensorcel (comparer, x.Item3, y.Item3) with
                                   | x when x <> 0 -> x
                                   | _ ->
  -                                match Specializations.FlaconOfComparer<'d, 'comp4>.Instance.Ensorcel (comparer, x.Item4, y.Item4) with
  +                                match phantom<'comp4>.Ensorcel (comparer, x.Item4, y.Item4) with
                                   | x when x <> 0 -> x
                                   | _ ->
  -                                match Specializations.FlaconOfComparer<'e, 'comp5>.Instance.Ensorcel (comparer, x.Item5, y.Item5) with
  +                                match phantom<'comp5>.Ensorcel (comparer, x.Item5, y.Item5) with
                                   | x when x <> 0 -> x
                                   | _ ->
  -                                eliminate_tail_call_int (Specializations.FlaconOfComparer<'f, 'comp6>.Instance.Ensorcel (comparer, x.Item6, y.Item6))
  +                                eliminate_tail_call_int (phantom<'comp6>.Ensorcel (comparer, x.Item6, y.Item6))
   
                   [<Struct; NoComparison; NoEquality>]
                   type TupleEssenceOfCompareTo<'a,'b,'c,'d,'e,'f,'g,
                                                   'comp1,'comp2,'comp3,'comp4,'comp5,'comp6,'comp7
  -                                                    when 'comp1 :> Specializations.IEssenceOfCompareTo<'a> and 'comp1 : (new : unit -> 'comp1)
  -                                                     and 'comp2 :> Specializations.IEssenceOfCompareTo<'b> and 'comp2 : (new : unit -> 'comp2)
  -                                                     and 'comp3 :> Specializations.IEssenceOfCompareTo<'c> and 'comp3 : (new : unit -> 'comp3)
  -                                                     and 'comp4 :> Specializations.IEssenceOfCompareTo<'d> and 'comp4 : (new : unit -> 'comp4)
  -                                                     and 'comp5 :> Specializations.IEssenceOfCompareTo<'e> and 'comp5 : (new : unit -> 'comp5)
  -                                                     and 'comp6 :> Specializations.IEssenceOfCompareTo<'f> and 'comp6 : (new : unit -> 'comp6)
  -                                                     and 'comp7 :> Specializations.IEssenceOfCompareTo<'g> and 'comp7 : (new : unit -> 'comp7)
  -                                                                                                                                        > =
  +                                                    when 'comp1 :> Specializations.IEssenceOfCompareTo<'a> and 'comp1 : (new : unit -> 'comp1) and 'comp1 : struct
  +                                                     and 'comp2 :> Specializations.IEssenceOfCompareTo<'b> and 'comp2 : (new : unit -> 'comp2) and 'comp2 : struct
  +                                                     and 'comp3 :> Specializations.IEssenceOfCompareTo<'c> and 'comp3 : (new : unit -> 'comp3) and 'comp3 : struct
  +                                                     and 'comp4 :> Specializations.IEssenceOfCompareTo<'d> and 'comp4 : (new : unit -> 'comp4) and 'comp4 : struct
  +                                                     and 'comp5 :> Specializations.IEssenceOfCompareTo<'e> and 'comp5 : (new : unit -> 'comp5) and 'comp5 : struct
  +                                                     and 'comp6 :> Specializations.IEssenceOfCompareTo<'f> and 'comp6 : (new : unit -> 'comp6) and 'comp6 : struct
  +                                                     and 'comp7 :> Specializations.IEssenceOfCompareTo<'g> and 'comp7 : (new : unit -> 'comp7) and 'comp7 : struct
  +                                                                                                                                                                    > =
                       interface Specializations.IEssenceOfCompareTo<System.Tuple<'a,'b,'c,'d,'e,'f,'g>> with
                           member __.Ensorcel (comparer:IComparer, x:System.Tuple<'a,'b,'c,'d,'e,'f,'g>, y:System.Tuple<'a,'b,'c,'d,'e,'f,'g>) = 
                               match x, y with
  
positive.code:                             | null, _ -> -1
                              | _, null -> +1
                              | _, _ ->
                                  match Specializations.FlaconOfComparer<'a, 'comp1>.Instance.Ensorcel (comparer, x.Item1, y.Item1) with
                                  | x when x <> 0 -> x
                                  | _ ->
                                  match Specializations.FlaconOfComparer<'b, 'comp2>.Instance.Ensorcel (comparer, x.Item2, y.Item2) with
                                  | x when x <> 0 -> x
                                  | _ ->
                                  match Specializations.FlaconOfComparer<'c, 'comp3>.Instance.Ensorcel (comparer, x.Item3, y.Item3) with
                                  | x when x <> 0 -> x
                                  | _ ->
                                  eliminate_tail_call_int (Specializations.FlaconOfComparer<'d, 'comp4>.Instance.Ensorcel (comparer, x.Item4, y.Item4))
  
                  [<Struct; NoComparison; NoEquality>]
                  type TupleEssenceOfCompareTo<'a,'b,'c,'d,'e,
                                                  'comp1,'comp2,'comp3,'comp4,'comp5
                                                      when 'comp1 :> Specializations.IEssenceOfCompareTo<'a> and 'comp1 : (new : unit -> 'comp1)
                                                       and 'comp2 :> Specializations.IEssenceOfCompareTo<'b> and 'comp2 : (new : unit -> 'comp2)
                                                       and 'comp3 :> Specializations.IEssenceOfCompareTo<'c> and 'comp3 : (new : unit -> 'comp3)
                                                       and 'comp4 :> Specializations.IEssenceOfCompareTo<'d> and 'comp4 : (new : unit -> 'comp4)
                                                       and 'comp5 :> Specializations.IEssenceOfCompareTo<'e> and 'comp5 : (new : unit -> 'comp5)
                                                                                                                                          > =
                      interface Specializations.IEssenceOfCompareTo<System.Tuple<'a,'b,'c,'d,'e>> with
                          member __.Ensorcel (comparer:IComparer, x:System.Tuple<'a,'b,'c,'d,'e>, y:System.Tuple<'a,'b,'c,'d,'e>) = 
                              match x, y with
  
negative.code:                             | null, _ -> -1
                              | _, null -> +1
                              | _, _ ->
                                  match phantom<'comp1>.Ensorcel (comparer, x.Item1, y.Item1) with
                                  | x when x <> 0 -> x
                                  | _ ->
                                  match phantom<'comp2>.Ensorcel (comparer, x.Item2, y.Item2) with
                                  | x when x <> 0 -> x
                                  | _ ->
                                  match phantom<'comp3>.Ensorcel (comparer, x.Item3, y.Item3) with
                                  | x when x <> 0 -> x
                                  | _ ->
                                  match phantom<'comp4>.Ensorcel (comparer, x.Item4, y.Item4) with
                                  | x when x <> 0 -> x
                                  | _ ->
                                  eliminate_tail_call_int (phantom<'comp5>.Ensorcel (comparer, x.Item5, y.Item5))
  
                  [<Struct; NoComparison; NoEquality>]
                  type TupleEssenceOfCompareTo<'a,'b,'c,'d,'e,'f,
                                                  'comp1,'comp2,'comp3,'comp4,'comp5,'comp6
                                                      when 'comp1 :> Specializations.IEssenceOfCompareTo<'a> and 'comp1 : (new : unit -> 'comp1) and 'comp1 : struct
                                                       and 'comp2 :> Specializations.IEssenceOfCompareTo<'b> and 'comp2 : (new : unit -> 'comp2) and 'comp2 : struct
                                                       and 'comp3 :> Specializations.IEssenceOfCompareTo<'c> and 'comp3 : (new : unit -> 'comp3) and 'comp3 : struct
                                                       and 'comp4 :> Specializations.IEssenceOfCompareTo<'d> and 'comp4 : (new : unit -> 'comp4) and 'comp4 : struct
                                                       and 'comp5 :> Specializations.IEssenceOfCompareTo<'e> and 'comp5 : (new : unit -> 'comp5) and 'comp5 : struct
                                                       and 'comp6 :> Specializations.IEssenceOfCompareTo<'f> and 'comp6 : (new : unit -> 'comp6) and 'comp6 : struct
                                                                                                                                                                      > =
                      interface Specializations.IEssenceOfCompareTo<System.Tuple<'a,'b,'c,'d,'e,'f>> with
                          member __.Ensorcel (comparer:IComparer, x:System.Tuple<'a,'b,'c,'d,'e,'f>, y:System.Tuple<'a,'b,'c,'d,'e,'f>) = 
                              match x, y with
  