macro_rules! fail { ($msg:literal $(,)?) => { ... }; ($err:expr $(,)?) => { ... }; ($fmt:expr, $($arg:tt)*) => { ... }; }
fail macro
same as bail! but without the explicit return
bail!