macro_rules! def_parser {
    { } => { ... };
    { $lt:lifetime } => { ... };
    { $vis:vis $name:ident [$I:path] ($input:ident) -> $output:ty $(where $($tn:path: $wt:path),+)? $b:block } => { ... };
    { $vis:vis $name:ident $(<$($lt:lifetime),*>)? ($input:ident: $it:ty ) -> $output:ty $b:block } => { ... };
}
Expand description

Unfinished
Define a Parser with data like a function