Re: F.U.D.
I am just precisely describing the resulting programs. There exist use cases where automatic locking of multithreaded data would be expensive. Planetary simulation for example.
In such cases, the performance-critical core should (currently) be done in a C++ library. There is no silver bullet, indeed.
Deadlocks are also possible, as with almost any locking mechanism. That's orthogonal to memory safety.