pub trait Parser: Send + Sync {
// Required method
fn parse<'a>(
&self,
registry: &ParserRegistry,
input: &'a str,
) -> ParseResult<'a>;
// Provided methods
fn as_slot(&self) -> Option<&SlotParser> { ... }
fn extend(&self, parser: ParserHandle) { ... }
}