Re: Other problems
It was also known back in 1969 that low level languages such as C and assembly were not appropriate for kernel development.
ICL's VME/B is but one example of a kernel written in a 'memory safe' language that allowed a programmer to properly exploit the hardware, yet prevent C-style trampling of random bits of memory. VME/B development started in the 1960s and is still in use in critical systems today. I would point out (from direct experience) that when the C compiler arrived for VME, it exposed some of the awful practices of (mostly American) firms using C as their development language.
Ultimately, and I say this as someone who has many years experience in embedded programming, development tools that make it hard to do stupid things are a great idea. Rust is not ideal, but perhaps may be the best way of breaking away from the dominance of C.