>
If one really needs metaprogramming, it's time to move to a more powerful language.It's wholly wrong to try to frame this as "more powerful", specially considering the fact that C already supports generic selection.
https://en.cppreference.com/w/c/language/generic
> There are plenty of them.
There really isn't, at least in the application domains where C dominates, such as embedder programming.
You'd be hard pressed to find any producrion-level tool chain for embedded development which supports anything other than C or even C++, and any decision to pick up even C++ over C for embedded development requires a lot of soul searching.