ertrace
macro_rules! new_error_types { () => { ... }; ($vis:vis struct $name:ident($type:ty); $($tail:tt)*) => { ... }; ($vis:vis enum $name:ident {$($var_name:ident $var_payload:tt),* $(,)?} $($tail:tt)*) => { ... }; }