Nice!
This thing is actually sane and thought through. A first for serialization formats. They're usually a shitshow.
(Should have gone with 'rational' instead of 'decimal', though. Decimal will be too painful to implement accross languages and implementations. Java bias?)