Dec 11, 2023
It makes sense to always treat null as missing. In this case backend should have turn missing value to NULL (or whatever type represents it, e.g. None in Python) and there rest of the code work accordingly. Even more, frontend can remove nulled keys to make messages shorter.
So I see the root problem is in the rigid backend. Simple design principle like null equivalent to missing or unknown (like is the case for example in SQL) would alleviate most of the problems.