Implement `CPEG l nt t -> List t -> Optional (Tree l t)`
Given a CPEG and a list of terminals, a parser should either fail or return a labeled Tree.
Implementation considerations are similar to #3.
Consider whether there's a simple way to generate useful errors messages or data. If so, pivot to a return type that exposes this information when parsing fails, instead of returning None.
Edited by mx00s