And design an interface between parts, probably using python entry points for discovery and selection.
Reasons:
- these serialization formats may have standalone uses outside of area of system programming;
- there may be different impls of parsers and serializers (i.e. ones handcoded and ones generated from grammars (and different generators and different classes of grammars here), ones in python and ones in C, C++ or Rust) and there should be a possibility to change the impl easily.
And design an interface between parts, probably using python entry points for discovery and selection.
Reasons: