Никакая типизация не спасёт такого джентльмена от того, что он сам в этой функци плюс с минусом перепутает. В итоге функция будет написана технически сверхтипизированно и идеально, но логически зарплату будет считать неправильно.
Корректность кода делится на техническую и логическую. Строгость и выразительность языка гарантируют корректность техническую, но не совсем гарантирует логическую.
Поэтому в типизированном языке не нужны будут лишь примитивные тесты на передачу string вместо int. Но всё равно нужны будут тесты логические, проверяющие правильность расчёта зарплаты.
Так что человек в здравом уме такого перла про ненужность тестов для функций с типами не скажет.
Ну во первых, типизацией можно отловить и вычитание вместо сложения, во вторых я не писал что при наличии типов, любые тесты всегда не нужны, читай внимательнее.