macro_rules! error {
( $fmt_head:literal $(, $fmt_args:expr)* $(,)? ) => { ... };
( @unknown($desc:expr) $val:expr ) => { ... };
( @redef($desc:expr) $val:expr ) => { ... };
( @unexpected($desc:expr) $val:expr ) => { ... };
($e:expr) => { ... };
($($unexpected:tt)*) => { ... };
}