pub trait Parser<T> {
// Required method
fn _parse(&self, cs: &mut CharSeq<'_>) -> ParserResult<T>;
// Provided methods
fn parse(&self, cs: &mut CharSeq<'_>) -> ParserResult<T> { ... }
fn lookahead(&self, cs: &mut CharSeq<'_>) -> bool { ... }
}