Think about what would happen if you typo a single character in each example.
If you miswrite "function" as "fnuction", you'll easily, quickly find out.
If you miswrite => as >= it might take ages to track it down.
If you miswrite "function" as "fnuction", you'll easily, quickly find out.
If you miswrite => as >= it might take ages to track it down.
If the function `foo` is defined as taking a function as its first argument (or even more precisely, a function which takes a number and returns a number), and you try to give it a boolean, then the static type checker will yell at you, and you'll just as easily find out as that fnuction typo.