macro_rules! define_content_with_associated_type { ($name:ident => $Ty:ident { $($variant:ident),*, }) => { ... }; ($name:ident => $Ty:ident { $($variant:ident = $typeVariant:ident),*, }) => { ... }; ($name:ident => $Ty:ident { $($variant:ident($innerVariant:ty) = $typeVariant:ident),*, }) => { ... }; }