macro_rules! def_remote_sink {
() => { ... };
({ $variant_name:ident, $sink_type_name:ident, $sink_name:expr }) => { ... };
({ $variant_name:ident, $sink_type_name:ident, $sink_name:expr, |$desc:ident| $body:expr }) => { ... };
({ $($first:tt)+ } $({$($rest:tt)+})*) => { ... };
($($invalid:tt)*) => { ... };
}