macro_rules! simple_error {
    (
        $(#[$attr:meta])*
        $vis:vis enum $error:ident {
            $($variant:ident = $string:expr),*
        }
    ) => { ... };
    (
        $(#[$attr:meta])*
        $vis:vis struct $error:ident = $string:expr;
    ) => { ... };
}