anchor.diff:              type private PartialEquivalenceRelation = class end
               type private UnknownEquivalenceRelation = class end
   
  -            type GenericSpecializeEquals<'a>() =
  +            type GenericSpecializeEquals_Pass1<'a>() =
                   static let generalize (func:Func<IEqualityComparer,'aa,'aa,bool>) =
                       match box func with
                       | :? Func<IEqualityComparer,'a, 'a, bool> as f -> f
  
positive.code:         let anyToStringShowingNull x = anyToString "null" x
  
          module HashCompare = 
          
              //-------------------------------------------------------------------------
              // LangaugePrimitives.HashCompare: Physical Equality
              //------------------------------------------------------------------------- 
  
negative.code:                     | t when t.Equals typeof<float32>    -> generalize (Func<_,_,_>(fun _ (a:float32)    -> a.GetHashCode()))
  
                      | t when t.IsValueType ->
                          let ec = Expression.Parameter typeof<IEqualityComparer>
                          let a = Expression.Parameter typeof<'a>
                          let lambda = Expression.Lambda<_> (Expression.Call(a, "GetHashCode", [||]), ec, a)
                          lambda.Compile ()
  
  #if FX_ATLEAST_40
                      | t when t.IsSealed -> // only sealed as a derived class might inherit from IStructuralEquatable
                          (Func<_,_,_>(fun ec (a:'a) ->
  