The issue with C++ is that it is a hyper-complex language that really is a combination of four languages: C with classes, template code, macros, and constexpr code with largely overlapping functionality. It seems to be getting better in amalgamating these different parts, but it is still a mess that annoys me all the time when I try to use it. This complexity is what drove me away. Still there is a unmet need for generic programming in C and I can now do this with macros very well means I can have it without missing this part from C++. So the idea is not to reinvent C++ but to make minor tweaks to C to be able to do similar things in a much simpler way.