macro_rules! provide_one {
($tcx:ident, $def_id:ident, $other:ident, $cdata:ident, $name:ident => { table }) => { ... };
($tcx:ident, $def_id:ident, $other:ident, $cdata:ident, $name:ident => { table_defaulted_array }) => { ... };
($tcx:ident, $def_id:ident, $other:ident, $cdata:ident, $name:ident => { table_direct }) => { ... };
($tcx:ident, $def_id:ident, $other:ident, $cdata:ident, $name:ident => $compute:block) => { ... };
}