macro_rules! define_event {
(
$(#[$meta:meta])*
$vis:vis struct $name:ident {}
) => { ... };
(
$(#[$meta:meta])*
$vis:vis struct $name:ident {
$(
$(#[$field_meta:meta])*
$field_vis:vis $field:ident: $field_ty:ty
),* $(,)?
}
) => { ... };
}