> tests are much better at giving you a glimpse of what the code even does
Types do that, they tell you the expected input and expected output. No type nor test is all-encompassing of course, but it gives at least some information.
No test will guarantee that a function will never return a number. Types, if valid and without prototypal shenanigans, can.