macro_rules! err_impl {
(@hidden $errtype:ident, $item:ident, String) => { ... };
(@hidden $errtype:ident, $item:ident, $($dtype:tt)::+) => { ... };
($errtype:ident,
$(#[$errinfo:meta] $item:ident($($dtype:tt)::+),)+
) => { ... };
}