anchor.diff:  
                   let equalityInterfaces (t:Type) : obj =
                       let make = makeEquatableDelegate t t
  -
  -                    let notnull =
  -                        let id = IntrinsicFunctions.getTypeInfo t
  -                        id = IntrinsicFunctions.TypeNullnessSemantics_NullNotLiked || id = IntrinsicFunctions.TypeNullnessSemantics_NullNever
   
                       let equatable = makeEquatableType t
   
  
positive.code:                     let pass0 =
                          if t.IsArray || typeof<System.Array>.IsAssignableFrom t then
                              // I could do something here, but I doubt it would have any real performance impact
                              null
  
                          elif t.IsGenericType && ((t.GetGenericTypeDefinition ()).Equals typedefof<System.Nullable<_>>) then
                              let nt = get (t.GetGenericArguments()) 0
  
negative.code:                 type StructEquals<'a when 'a : struct and 'a : equality>() =
                      member __.Equals (_:IEqualityComparer, x:'a, y:'a) = x.Equals y
  
                  type RefTypeNullableStructualEquality<'a when 'a : not struct and 'a : null and 'a :> IStructuralEquatable>() =
                      member __.Equals (ec:IEqualityComparer, x:'a, y:'a) =
                          match x, y with
  