macro_rules! wasmtime_option_group {
(
$(#[$attr:meta])*
pub struct $opts:ident {
$(
$(#[doc = $doc:tt])*
$(#[serde($serde_attr:meta)])*
pub $opt:ident: $container:ident<$payload:ty>,
)+
$(
#[prefixed = $prefix:tt]
$(#[serde($serde_attr2:meta)])*
$(#[doc = $prefixed_doc:tt])*
pub $prefixed:ident: Vec<(String, Option<String>)>,
)?
}
enum $option:ident {
...
}
) => { ... };
}