macro_rules! define {
($name:ident; help: $help:literal; flags {
$($fname:ident: $ftype:ty = $($flag:literal)|* $(=> [$fnum:literal])?),*$(,)?
}; args {
$($aname:ident: $atype:ty $(=> [$num:literal])?),*$(,)?
};
$(rest => $rname:ident: $rtype:ty;)?) => { ... };
}