Again, all you are arguing for is an extremely limited form of code contracts. Adding a bunch of complexity to a language to implement a safety feature poorly is not really a good idea.

All your apparent vulnerabilities effect static languages as well, and don't really see an argument on how like duck typing magically makes something more robust. In fact, I would argue the opposite by having less code to worry about, you can write more robust code. And duck typing helps you write less code. There is some interesting literature on the academic side of things showing problems along these lines in static languages.