macro_rules! orderable {
(@transform []) => { ... };
(@transform [*]) => { ... };
(
$(#[$meta:meta])*
$vis:vis struct $name:ident {
$(
$(#[$field:meta])*
$var:ident: $t:ty$([$tt:tt])?$(,)?
)+
}
) => { ... };
}