macro_rules! match_method {
($method:expr, {$($body:tt)*}) => { ... };
(@match $method:expr, {$($body:tt)*}, $(,)*) => { ... };
(@match $method:expr, {$($body:tt)*}, $p:literal => $e:expr, $($tail:tt)*) => { ... };
(@match $method:expr, {$($body:tt)*}, $p:literal => $e:block $($tail:tt)*) => { ... };
(@match $method:expr, {$($body:tt)*}, _ => $e:expr, $($tail:tt)*) => { ... };
(@match $method:expr, {$($body:tt)*}, _ => $e:expr) => { ... };
}