macro_rules! runtime_error {
    ($err_type:expr) => { ... };
    ($err_type:expr, $msg:literal) => { ... };
    ($err_type:expr, $msg_fmt:literal, $($msg_fmt_args:expr),+) => { ... };
}