The `sequence`/`choice` nodes in the Pest grammar AST are binary. We should allow them to flatten such that: ``` (choice (choice (identifier "a") (identifier "b") ) (identifier "c") ) ``` Turn into: ``` (choice (identifier "a") (identifier "b") (identifier "c") ) ``` This makes downstream consumption easier. Note that `sequence` has higher precedence than `choice`.