macro_rules! dispatch_sink { ({$({$variant_name:ident, $sink_type:ty}),*}, $impl:tt, $sink:tt, $body:tt) => { ... }; ($impl:expr, $sink:ident, $body:expr) => { ... }; }
macro_rules! dispatch_sink { ({$({$variant_name:ident, $sink_type:ty}),*}, $impl:tt, $sink:tt, $body:tt) => { ... }; ($impl:expr, $sink:ident, $body:expr) => { ... }; }