&gt; Requires code generation. Not a big hassle especially if your IDE hides it, but a hassle nevertheless.<p>I&#x27;ve never understood the objection to code generation (or IDLs). If you actually <i>care</i> about what the serialized form looks like (and compatbility, etc.) this is by far the sanest way to do it.<p>It&#x27;s also <i>incredibly simple</i> (i.e. transparent to inspection), it&#x27;s a good way to do cross-platform&#x2F;language marshalling.