macro_rules! unvar { ($type_name:expr) => { ... }; ($type_name:expr ; $body:expr) => { ... }; ($type_name:expr, $rename:expr) => { ... }; ($type_name:expr, $rename:expr ; $body:expr) => { ... }; }