macro_rules! proto {
(@peano 0) => { ... };
(@peano 1) => { ... };
(@peano 2) => { ... };
(@peano 3) => { ... };
(@peano 4) => { ... };
(@peano 5) => { ... };
(@peano 6) => { ... };
(@peano 7) => { ... };
(@peano 8) => { ... };
(@peano 9) => { ... };
(@peano 10) => { ... };
(@peano 11) => { ... };
(@peano 12) => { ... };
(@peano 13) => { ... };
(@peano 14) => { ... };
(@peano 15) => { ... };
(@peano 16) => { ... };
(Recv $t:ty, $($rest:tt)*) => { ... };
(Send $t:ty, $($rest:tt)*) => { ... };
(loop { $($rest:tt)* }) => { ... };
(continue $p:tt) => { ... };
(continue) => { ... };
(goto $p:ty) => { ... };
(End) => { ... };
({$($rest:tt)*}) => { ... };
(Choose { $p:tt, $($rest:tt)*}) => { ... };
(Choose { $p:tt }) => { ... };
(Accept { $p:tt, $($rest:tt)*}) => { ... };
(Accept { $p:tt }) => { ... };
}