macro_rules! impl_recorder {
($type_name:ident; $($name:ident => $val:expr),*) => { ... };
($vis:vis struct $type_name:ident; $($name:ident => $val:expr),*) => { ... };
(impl identifier, $name:literal) => { ... };
(impl before_search, $br:expr) => { ... };
(impl after_search, $br:expr) => { ... };
(impl before_rewrite, $br:expr) => { ... };
(impl after_rewrite, $br:expr) => { ... };
}