macro_rules! count_idents {
    ($on: expr, [$head: ident $(,$xs: ident)*]) => { ... };
    ($on: expr, []) => { ... };
}