macro_rules! ast_expr {
(use $r:expr, $($v:expr),* $(,)?) => { ... };
($($item:ident)::+ { $($k:ident: $v:expr),* $(,)? }) => { ... };
($($item:ident)::+ ( $($v:expr),* $(,)? )) => { ... };
(( $($v:expr),* $(,)? )) => { ... };
($($item:ident)::+) => { ... };
}