I've wondered about languages that are "hybrid" in the sense that the type system can be turned on and off, because from an intuitive sense, whether the language is meant to be used as a dynamic language has an impact on its design, similarly with a static language. You take Smalltalk for example, as it is the original archetype of a language that benefit from blurring the lines of the type system. A language like Ha…
So it isn't anything like dynamic typing, or even quite like making type errors warnings--it's just a way to compile partially incorrect code to make changing the code incrementally easier. It's also not designed to be used in production.
It just automates the existing practice of temporarily commenting out offending functions and replacing them with `undefined' to get the whole file to compile.