@aljoscha I think it would be more elegant to just drop the enforcement of the type field, if there was really a need for messages with absolutely minimal overhead.
But why? What is more elegant about forcing somebody who wants to send a single value to wrap it in a completely useless map? Why not do fully general solution that also moves the type where it belongs - into the metadata?
Additionally, optional "type" would be a breaking change.