macro_rules! param_count_match {
(
[$($arg:ident),*]
[]
) => { ... };
(
[$($arg:ident),*]
[$($sel:tt)*]
) => { ... };
(
[$arg1:ident $(,$tail1:ident)* $(,)?]
[$sel:ident : $($tail2:ident :)*]
[$($t:tt)*]
) => { ... };
(
[$arg1:ident, $arg2:ident]
[$($sel:ident)?]
[$($t:tt)*]
) => { ... };
(
[$($arg:tt)*]
[$($sel:tt)*]
[$($t:tt)*]
) => { ... };
}