macro_rules! for_all_feature_combinations {
( entries: [ $( ( $feat:literal, $payload:tt ) ),* $(,)? ], callback: $callback:ident ) => { ... };
(@recurse [$($yes:tt)*] [$($no:tt)*] [ ( $feat:literal, $payload:tt ) $($rest:tt)* ] $callback:ident ) => { ... };
(@recurse [ $( ( $yfeat:literal, $ypayload:tt ) )+ ] [ $( $nfeat:literal )* ] [] $callback:ident ) => { ... };
(@recurse [] [ $( $nfeat:literal )* ] [] $callback:ident ) => { ... };
}