ValueBounds
class ValueBounds
What is known about the range of values at one path.
Two slots, kept independent rather than collapsed into one range. A path that holds strings in most documents and integers in a few has a meaningful range for each, and a single range would either need an order across types — which does not exist — or would have to give up and report nothing, losing both.
There is no temporal or binary slot. JSON's grammar produces neither, so the branch would be untested code carrying a permanent on-disk shape; the sidecar's bound tag is what lets one arrive later as a new id rather than a new format version.