Make a parser that runs a given parser and then a dynamically returned parser.
A nonmatch is returned if any of two parsers did not match.
Compared to condition this can have any complex logic inside.
chain splits the parser generation into a separate function, allowing for more modular code.
This overload makes a Matcher that runs a given matcher and then a dynamically returned matcher.
Compared to condition this can have any complex logic inside.
Prefer to use chain - it splits the parser generation into a separate function, allowing for more modular code.