- A type of parser where many strategies can be tried before exception
- A strategy is a tuple like class of (parser, predicate, name=None)
- Strategies are tried if predicate is True
- Strategies are tried in order, allows for fallbacks
- Base interface allows existing parsers to use multiple strategies
- New strategies can be added for new output errors and covered by tests