macro_rules! impl_intersection_transducer {
(@impl $($T:ident)*, $($a:ident)*, $($b:ident)*) => { ... };
(@inc $($T:ident)*, $($a:ident)*, $($b:ident)*, $TT:ident $aa:ident $bb:ident) => { ... };
(@inc $($T:ident)*, $($a:ident)*, $($b:ident)*, $TT:ident $aa:ident $bb:ident $($tt:tt)*) => { ... };
($($tt:tt)*) => { ... };
}