I have a much better list for things to add to C: Nothing. C isn't perfect, or nearly as good as it could be, but simply adding things onto C gets you C++.
Adjusting what sircmpwn says: in C you don't solve problems by adding features, but by writing more code in C.
I liked an answer on stack overflow on a question on "how to write a generic function wrapper in Go", or something similar. Many suggestions included reflection, but the author wanted something simpler with varargs without reflection. A comment simply said: "wrong language".
I'd rather adopt this position for some languages, instead of add more and more to C3X. I do away with things in C23, and don't want even more things added in to C.
Making a strech of OP's arguments: "look at all this cool things that C could do, and that D does!". Well, go on and use D, nothing wrong with that.
(BTW, I do write test targets for every file in my C projects, but I'm not so much into jogging).
Those things aren't that obvious, and I'd rather not have them added to C.
Wrong language.