What are places that depend on values being at the root level of the message object that are not easy to change?

You totally sold me yesterday on the options route with your `type` example. I remember at the hackathon, a couple folks mentioning they would like pre-generating message files for performance and `type` would support that.