anchor.diff:                          new CountLimitedHasherPER(sz)
                   
                   interface IEqualityComparer 
  +                interface IEqualityComparerInfo
   
               /// The implementation of IEqualityComparer, using unlimited depth for hashing and ER semantics for NaN equality.
               type UnlimitedHasherER() =
                   interface IEqualityComparer 
  -                
  +                interface IEqualityComparerInfo
  +
               /// The implementation of IEqualityComparer, using unlimited depth for hashing and PER semantics for NaN equality.
               type UnlimitedHasherPER() =
                   interface IEqualityComparer
  -                    
  +                interface IEqualityComparerInfo
   
               /// The unique object for unlimited depth for hashing and ER semantics for equality.
               let fsEqualityComparerUnlimitedHashingER = UnlimitedHasherER() :> IEqualityComparer
  
positive.code:             // this is doucmented here- https://github.com/Microsoft/visualfsharp/pull/513#issuecomment-117995410
              let GenericEqualityWithComparerIntrinsic (comp : System.Collections.IEqualityComparer) (x : 'T) (y : 'T) : bool =
                  match comp with
                  | c when obj.ReferenceEquals (c, fsEqualityComparerNoHashingER)  -> eliminate_tail_call_bool (GenericEqualityERIntrinsic x y)
                  | c when obj.ReferenceEquals (c, fsEqualityComparerNoHashingPER) -> eliminate_tail_call_bool (GenericEqualityIntrinsic   x y)
                  | c when obj.ReferenceEquals (c, EqualityComparer<'T>.Default)   -> eliminate_tail_call_bool (EqualityComparer<'T>.Default.Equals (x, y))
                  | _ -> comp.Equals (box x, box y)
  
              /// Implements generic equality between two values, with ER semantics for NaN (so equality on two NaN values returns true)
              //
  
negative.code: 
              /// Fill in the implementation of CountLimitedHasherPER
              type CountLimitedHasherPER with
                  interface System.Collections.IEqualityComparer with
                      override iec.Equals(x:obj,y:obj) =
                          GenericEqualityObj false iec (x,y)
  