Why a new language?
The thing that always gets me about computer scientists is when there is a problem, the first thing they do is invent a new language to try and solve it in!
Take C versus Rust, the bone of contention here is the existing C developers having to learn and maintain a C-to-Rust API that is static so the Rust folks can write things that interface to the MASSES of existing kernel C code. And for a project that famously and possibly by-design has an API that is fluid-ish and defined by the C structures used.
Now had the issue of memory safety, etc, in C (or the lack thereof) been addressed by creating a sub-set of C and/or a few features to mitigate some issues like use-after-free then it would have been fairly trivial to do this, just set some flag on the compiler to new code that prevents careless/dumb mistakes that are oh so common, and the remaining aspect of compiler interfacing to the wild bad world of traditional C is not an issue. Same for existing C code, try compiling with the mythical safe flag and see if it can be tamed in a small way (great) or is too hairy and best left alone (maybe common). But no, a new language it had to be...