Want to minimize transferred payloads? Transit has a built-in caching layer. Repeated map keys, keywords, symbols, and tags are written once and thereafter referenced by a short cache code, so verbose, key-heavy payloads shrink dramatically — without you reaching for a separate compression pass.
Want to be sure serialized data is still readable after a version bump? Transit is built on top of ground types everyone can already read (the JSON/MessagePack primitives). There's no bespoke binary serialization format to keep in lockstep across services and languages — the rich types are encoded in terms of those primitives, and an old or polyglot reader can still parse the structure.
Want to ship your own types over the wire? Tagged values are the extension point: a tag plus a representation, decoded on the other side by a custom handler.