I don&#x27;t think this is true at all. You cannot write unit tests for all plausible values sent to your functions. If you omit manual type checking in your code or in the respective unit test, you may miss some subtle failure scenarios. Undergoing a refactor, maintenance, or change from other people (or even yourself at a later point in time) only makes this more possible.<p>I personally find that type safety cuts down the number of unit tests I write by half and makes refactoring work an order of magnitude easier to perform.