anchor.diff:  
   
               module TupleEquality =
  +(*
                   let inline mask (n:int) (m:int) = (# "and" n m : int #)
                   let inline opshl (x:int) (n:int) : int =  (# "shl" x (mask n 31) : int #)
                   let inline opshr (x:int) (n:int) : int =  (# "shr" x (mask n 31) : int #)
                   let inline opxor (x:int) (y:int) : int = (# "xor" x y : int32 #)
                   let inline combineTupleHashes (h1 : int) (h2 : int) = -1640531527 + (h2 + (opshl h1 6) + (opshr h1 2))
  -
  -                let inline cth a b = combineTupleHashes a b
  +*)
  +                let inline cth a b = TupleUtils.combineTupleHashes a b
   
                   type TupleEREqualityComparer<'a>() =
                       member __.Equals (_:IEqualityComparer, x:System.Tuple<'a>, y:System.Tuple<'a>) = 
  
positive.code:                         let c = GenericHashWithComparerIntrinsic_inline iec x.Item3
                          let d = GenericHashWithComparerIntrinsic_inline iec x.Item4 
                          let e = GenericHashWithComparerIntrinsic_inline iec x.Item5
                          eliminate_tail_call_int (cth (cth (cth (cth (cth 0 a) b) c) d) e)
  
                  type TupleEREqualityComparer<'a,'b,'c,'d,'e,'f>() =
                      member __.Equals (_:IEqualityComparer, x:System.Tuple<'a,'b,'c,'d,'e,'f>, y:System.Tuple<'a,'b,'c,'d,'e,'f>) = 
  
negative.code:                         let b = GenericHashWithComparerIntrinsic_inline iec x.Item2 
                          let c = GenericHashWithComparerIntrinsic_inline iec x.Item3
                          let d = GenericHashWithComparerIntrinsic_inline iec x.Item4 
                          eliminate_tail_call_int (cth (cth a b) (cth c d))
  
                  type TupleEREqualityComparer<'a,'b,'c,'d,'e>() =
                      member __.Equals (_:IEqualityComparer, x:System.Tuple<'a,'b,'c,'d,'e>, y:System.Tuple<'a,'b,'c,'d,'e>) = 
  