> I didn't say it catches all bugs.It is always telling when someone starts getting worked up about something, especially when that something wasn't even said or implied.
> Also the fact static typing eliminates entire classes of bugs means you need to write far fewer tests.
You don't need to write any more tests in the absence of static types. The purpose of testing is not to act as a replacement for static types and if you find yourself writing tests just for the sake of testing types, you know you're doing something horribly wrong. But, you necessarily have to encode type information into the tests in order of them to execute. After all, if that wasn't the case, you wouldn't even be able to catch bugs with a type system. As such, you gain that indirectly.
> I've seen Python tests that literally fed different types into functions and verified that they accepted them. What a misguided waste of effort!
Sure, I've seen developers do all kinds of stupid things too. In fact, give them Typescript and they will just litter the code with `any` everywhere – something I've witnessed far too often. There is no technical solution to bad developers. Was there supposed to be some meaningful takeaway here?