The Null Equivalence Principle for JSON APIs
My default: an omitted field, a null one, and an empty value all mean the same thing, "no value." Three states become one. That kills a pile of conditionals and a lot of arguing over what a payload meant. Sometimes the distinction is real, and you have to respect it. PATCH under RFC 7396 gives null a delete meaning, and GraphQL nullability and OpenAPI 3.1 union types drag you back into the same question. When a field genuinely needs it, document the exception and enforce it at the edges.