macro_rules! register_flag { ($a:ty, $fn_:expr) => { ... }; ($gensym:ident, $a:ty, $fn_:expr) => { ... }; }