The problem with dynamic typing is not one that can be solved, even with a live running program you might not be hitting the edge case where you’re passing a wrong type.
It’s fine for small stuff, but when you’re developing a piece of software with hundreds or thousands of classes, functions, and APIs it’s impossible to mentally keep track of everything. And adding a type checker is tangential to overriding all of the benefits of a dynamic typing system.
The problem with dynamic typing is not one that can be solved, even with a live running program you might not be hitting the edge case where you’re passing a wrong type.
It’s fine for small stuff, but when you’re developing a piece of software with hundreds or thousands of classes, functions, and APIs it’s impossible to mentally keep track of everything. And adding a type checker is tangential to overriding all of the benefits of a dynamic typing system.