macro_rules! pattern { ($($elem:tt),+) => { ... }; (@el $v:literal) => { ... }; (@el $v:tt) => { ... }; }