Using conditional statement like “if (missing.length)” is a common way to confirm that incoming parameter (in this case) has expected behivior. This seams like a great concept. But more conditional statements will never make your logic easier to undertand.
Types may not be that important in context on a singel funtion or class. Thought when you need to reason about whole lib or framework at once, than you need some hits. I this case type system is not bad tool to help us express our intent.
I belive it’s important to distinguish. It’s easy to extend that thig that I’ve just finished and I see this this first time, how the hell I can add this capability.