> What exactly would one gain from using schemas, if I can send the value (state) of any of my static types to another application using Transit?
Interoperability with other languages, for one. The static type you defined in your language can't be used with any other languages. Schemas are static types that can be used across languages.
Right, but you can write a decoder an let Transit convert your type to an equivalent type in another language.
That's the whole point of Transit, interoperability with other languages. Having a good set of scalar types, basic composite types, and the ability to extend it with your own semantic types built recursively from the base types.
Interoperability with other languages, for one. The static type you defined in your language can't be used with any other languages. Schemas are static types that can be used across languages.