macro_rules! plugin_struct {
($name:ident, $client:ty, $meta:expr $(; $($field:ident: $fty:ty = $init:expr),+ $(,)?)?) => { ... };
(custom $name:ident, $meta:expr; $($field:ident: $fty:ty = $init:expr),+ $(,)?) => { ... };
(@define $name:ident, $meta:expr; $($field:ident: $fty:ty = $init:expr),*) => { ... };
}