macro_rules! combinator {
(~ $($selector:tt)+) => { ... };
(+ $($selector:tt)+) => { ... };
(, $($selector:tt)+) => { ... };
(> $($selector:tt)+) => { ... };
($head:ident $($selector:tt)+) => { ... };
(_ $($selector:tt)+) => { ... };
({$($selector:tt)*}) => { ... };
({$($selector:tt)*} $($next:tt)+) => { ... };
([$($inner:tt)*] $($next:tt)+) => { ... };
($($rest:tt)*) => { ... };
}