macro_rules! syscall {
(@subst_tts $_:tt $x:expr) => { ... };
(@count_tts) => { ... };
(@count_tts $odd:tt $($a:tt $ b:tt)*) => { ... };
(@count_tts $($a:tt $even:tt)*) => { ... };
($fun:ident($($args:expr$(,)?)*)) => { ... };
(@bind $($r1:tt)? ) => { ... };
(@bind $r1:tt $r2:tt ) => { ... };
(@bind $r1:tt $r2:tt $r3:tt ) => { ... };
(@bind $r1:tt $r2:tt $r3:tt $r4:tt) => { ... };
(@bind $r1:tt $r2:tt $r3:tt $r4:tt $($rest:tt)+) => { ... };
(@bind_stack $r1:tt $r2:tt $r3:tt $r4:tt [$head:tt $($rest:tt)*] $($reversed:expr)* ) => { ... };
(@bind_stack $r1:tt $r2:tt $r3:tt $r4:tt [] $($stack:tt)*) => { ... };
(@emit [$($register:expr)*] $($stack:expr)*) => { ... };
}