Arguably JSON doesn't have this problem at all since it encodes the field names too. The only thing it doesn't handle is field renames, but I mean, come on, you know you can't rename a field in public API anyways :)

I appreciate this comment.

It does seem like some technologies get credit for solving problems that they created.