Well, actually, binary Serialize is as good or even better handling hierarchies and even can easily handle versions (via simple int version = trick).
Anyway, maybe we should, instead doing this "implicit" and only for the Value, find some explicit way how to store binary serialized data into XML, I mean connect both systems....