isn't this true for most formats? You'd use a string to encode a date or version in JSON just like you would in YAML[0].
Either you have an infinite spec, or you always have things outside it.
[0] YAML would allows you to tag the type, but nobody does it anyway