macro_rules! arg_count { ( $arg:ident $(,$tail:ident)* $(,)? ) => { ... }; ( [$($t:tt)*] $arg:ident $($tail:ident)* ) => { ... }; () => { ... }; ( [$($t:tt)*] ) => { ... }; }