Use instances for generation/parsing
Use generator/parser protocols
Use generator/parser protocols
Use generator/parser protocols