macro_rules! mark { ($name:expr) => { ... }; ($name:expr, $desc:expr) => { ... }; ($name:expr, $desc:expr, $($key:expr => $value:expr),*) => { ... }; }