implementations to further specify structure of expected format. Basic JSON-based parsers and generators do not use schemas, but some data formats (like many binary data formats like Thrift, protobuf) mandate use of schemas.
Since there is little commonality between schemas for different data formats,
this interface does not define much meaningful functionality for accessing
schema details; rather, specific parser and generator implementations need
to cast to schema implementations they use. This marker interface is mostly
used for tagging "some kind of schema" -- instead of passing opaque
-- for documentation purposes.