"We have a plethora of static and memory checking tools: Valgrind, ASsan, Intel Inspector, etc." I'm not sure what to do with that argument. How is having a plethora of external tools (that you have to setup, configure and in the end not ignore) better than a compiler that prevents memory bugs?