macro_rules! call_static_method { ( {{$func_name:ident, {$($ret:tt)*}, {$($args:tt)*}}}, {$($class:ident).+}, {$env:expr} $(, $method_args:expr)* ) => { ... }; ($env:expr, {$($class:ident).+}, {$($method:tt)*} $(, $args:expr)*) => { ... }; ( $env:expr, $class_name:expr, $func_name:expr, {{$($ret:tt)*}, {$($args:tt)*}} $(, $method_args:expr)* ) => { ... }; }