anchor.diff:                              | false, false -> true
                               | false, _ | _, false -> false
                               | _, _ -> x.Value.Equals y.Value
  +
  +                        member __.GetHashCode (_:IEqualityComparer, x:Nullable<'a>) =
  +                            if x.HasValue then x.Value.GetHashCode ()
  +                            else 0
   
                   module ValueType =
                       type StructuralComparable<'a when 'a : struct and 'a :> IStructuralComparable>() =
  
positive.code:                         fun () -> standardTypes ty
                          fun () -> compilerGenerated tyRelation ty
                          fun () -> arrays tyRelation ty
                          fun () -> equalityInterfaces ty
                          fun () -> defaultEquality tyRelation ty
                      |]
  
negative.code:                     mos.takeFirstNonNull [|
                          fun () -> standardTypes t
                          fun () -> arrays t
                          fun () -> nullableType t
                          fun () -> structualEquatable t
                          fun () -> sealedTypes t
                          fun () -> defaultGetHashCode t
  