chain
macro_rules! chain { [] => { ... }; [$x0:expr $(, $x:expr)*] => { ... }; [$x0:expr $(, $x:expr)* ,] => { ... }; }