What's hard to understand? You design a data store to store data, and aggregate data is still data. Do you care about low-level details of an aggregate data type? Do you care about how a UUID is implemented, or even if you store it as a string, a 128 bit integer, or a bitmap? Do you care if you store the UUID type along with the UUID?
Or do you simply want to store an ID that's produced/consumed by a client?
Now, replace UUID with JSON and you arrive at the same conclusion.