macro_rules! define_choice {
    ( $name:ident ;
    $( $labels:ident : $protocols:ty ),+
    $(,)?
  ) => { ... };
    ( $name:ident
    < $( $types:ident ),+ $(,)? > ;
    $( $labels:ident : $protocols:ty ),+
    $(,)?
  ) => { ... };
}