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
   
                       if t.IsArray || typeof<System.Array>.IsAssignableFrom t then
                           // I could do something here, but I doubt it would have any real performance impact
  
positive.code:                         else                                                                   make typedefof<NullableEquals<DummyStructInterfaces>>
  
                      elif t.IsValueType && typeof<IStructuralEquatable>.IsAssignableFrom t then make typedefof<StructStructualEquality<DummyStructInterfaces>>
                      elif t.IsValueType && (makeEquatableType t).IsAssignableFrom t        then make typedefof<StructEquatable<DummyStructInterfaces>>
                      elif t.IsValueType                                                    then make typedefof<StructEquals<DummyStructInterfaces>>
  
                      elif typeof<IStructuralEquatable>.IsAssignableFrom t                  then make typedefof<RefTypeStructualEquality<DummyRefTypeInterfaces>>
  
                      // only sealed as a derived class might inherit from IStructuralEquatable
                      elif t.IsSealed && (makeEquatableType t).IsAssignableFrom t           then make typedefof<RefTypeEquatable<DummyRefTypeInterfaces>>
                      elif t.IsSealed                                                       then make typedefof<RefTypeEquals<DummyRefTypeInterfaces>>
  
                      else null
  
  
negative.code:                                 if hasFSharpCompilerGeneratedEquality ty then
                                      if ty.IsValueType
                                          then makeEquatableDelegate ty ty typedefof<StructEquatable<DummyStructInterfaces>>
                                          else makeEquatableDelegate ty ty typedefof<RefTypeNullableEquatable<DummyRefTypeInterfaces>>
                                  else null
                              | r when r.Equals typeof<PartialEquivalenceRelation> -> null
                              | _ -> raise (Exception "invalid logic")
  