combine_proc_macro
macro_rules! parser { (fn $name:ident() -> $output:ty $block:block) => { ... }; (fn $name:ident($input:ident: &mut Input) -> $output:ty $block:block) => { ... }; }
A macro to remove the generics boilerplate when defining parsers.