macro_rules! error_msg {
($err:expr, ($msg:expr), [$dbg:expr]) => { ... };
($err:expr, ($msg:expr)) => { ... };
($err:expr, [$dbg:expr]) => { ... };
($err:expr, ($($msg:tt)*), [$($dbg:tt)*]) => { ... };
($err:expr, ($($msg:tt)*)) => { ... };
($err:expr, [$($dbg:tt)*]) => { ... };
}