Wouldn't that leading example of dynamic language code that calls a nonexistent function be perfectly handled by tests that covered that call? Yes, if your tests have poor coverage they won't test code that isn't covered. So don't do that if you're using a dynamic language. Lisp people have known this for decades.
Tests are important anyway; I think the point is that if you adequately test your code for more difficult bugs, you'll get coverage of simple compiler-detectable bugs for free.