macro_rules! vertex_struct {
{ @len } => { ... };
{ @len $last:tt } => { ... };
{ @len $first:tt $( $rest:tt )+ } => { ... };
{ $struct:ident [
$( $num:tt $field:ident => $attr:ident ),* $(,)?
] } => { ... };
{ $struct:ident step $step:ident [
$( $num:tt $field:ident => $attr:ident ),* $(,)?
] } => { ... };
}