macro_rules! traceback {
    () => { ... };
    ($msg:expr) => { ... };
    (err $e:expr) => { ... };
    ($e:expr, $msg:expr) => { ... };
}