anchor.diff:          |> addMember' makeCtor
           |> addMember' makeCheckValuePartial
           |> addMember' makeToString
  -        |> addMember' Equality.makeGetHashCode
  -        |> addMember' Equality.makeEquals
  -        |> addMember' Equality.makeEqualsGenerated
  -        |> addMember' Equality.makeStaticEquals
  -        |> Equality.addOperators info
  -        |?> (info.Id.EqualsUnderlying, addMember' Equality.makeEqualsUnderlying)
  +        |> Equality.addEqualityMembers info 
           |> Casts.addAll info
           |> ParseMethods.addParseMethods info
           |> Convertible.addIConvertibleMembers info
  
positive.code:         decl |> addMember (builder info)
  
      (struct' info.Id.Name)
          |> addBaseTypes [| Equality.iequatableOf info.GeneratedTypeSyntax |]
          |?> (info.Id.EqualsUnderlying, addBaseTypes [| Equality.iequatableOf info.UnderlyingTypeSyntax |])
          |> ProtobufNet.addProtoContract info
          |> addModifiers [|visibility; SyntaxKind.PartialKeyword|]
          |> addMember' makeValueField
  
negative.code:         |> addParameter "b" info.GeneratedTypeSyntax
          |> addBodyStatement body
  
      let private makeEquals info =
          let parameterName = "other"
          let parameter = identifier parameterName :> ExpressionSyntax
  
  