It would be nice for the C Standard to say that `char` is unsigned. The damage done by making its signedness implementation-defined is incalculable.
(D sez `char` is unsigned. No more nonsense!)
C also needs to implement proper arrays. D does it, and that one feature is worth its weight in gold:
https://www.digitalmars.com/articles/C-biggest-mistake.html
It's sooo nice to not have array overflows anymore.