type Rule = Sequence (List Rule)
| Choice (List Rule)
| ZeroOrMore Rule
| OneOrMore Rule
| Optional Rule
| ConditionalPredicate String
| PositiveLookahead Rule
| NegativeLookahead Rule
| Collect Rule
| Action String
| MatchLiteral String
| MatchAny
| MatchNot Char
| RuleRef String
Represents a PEG rule.