macro_rules! node_token_matches {
($node:ident, Some($( $name:ident )|*)) => { ... };
($node:ident, $( $name:ident )|*) => { ... };
($node:ident, Some($( $name:ident($( $args:pat ),*) )|*)) => { ... };
($node:ident, $( $name:ident($( $args:pat ),*) )|*) => { ... };
}