macro_rules! StateMachineBuilder {
(
($d:tt)
$(#[$($state_macros:tt)*])*
enum $state_name:ident $(impl $trait:ident)? {
$($(#[$($variant_macros:tt)*])*
$variant_name:ident($state:ty$(,$($aux:ty),+)?) $(-> $override:expr)?),+ $(,)?
}
) => { ... };
($($tt:tt)+) => { ... };
}