macro_rules! smallvec { (@one $x:expr) => { ... }; ($elem:expr; $n:expr) => { ... }; ($($x:expr),*$(,)?) => { ... }; }