This is not what I said. I said, why bother using "strong" type system if you still have to debug your code afterwards? You either use a real, proper static type system and then you never have to debug your code interactively, or you'll be more flexible with a dynamic type system and do all that hipster interactive stuff. People tend to overuse interactive debugging, and it is really sad. Debugging is not a "normal" part of development. It should be considered a very last resort, when nothing else works. With a proper type system you don't have to step through your code to find out, what the program is "really doing" - types will tell you all about it straight away.