macro_rules! impl_one_zero {
([$($bound:tt)*]; $t:ty; zero: $e:expr; $($rest:tt)*) => { ... };
([$($bound:tt)*]; $t:ty; one: $e:expr; $($rest:tt)*) => { ... };
([$($bound:tt)*]; $t:ty;) => { ... };
($t:ty; $($rest:tt)*) => { ... };
}
macro_rules! impl_one_zero {
([$($bound:tt)*]; $t:ty; zero: $e:expr; $($rest:tt)*) => { ... };
([$($bound:tt)*]; $t:ty; one: $e:expr; $($rest:tt)*) => { ... };
([$($bound:tt)*]; $t:ty;) => { ... };
($t:ty; $($rest:tt)*) => { ... };
}