macro_rules! id_kinds {
($( $variant:ident => $kind:ident, $alias:ident, $mark:ident, $mnemonic:literal, $noun:literal; )*) => { ... };
}Expand description
The kinds, declared once: the tag type, its alias, its spellings, and its slot in the allocator and the id union. A macro because these five must agree per kind and nothing weaker than generation makes them unable to drift.