> Basically, in an ideal world we would have a "pragmatically typed" programming language. Basically something in between "weak dynamic typing of Javascript" and "strong static typing of Haskell".
Souunds like one of the many strong dynamic languages with optional static typing/typechecking.