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.
If you miswrite "function" as "fnuction", you'll easily, quickly find out.
If you miswrite => as >= it might take ages to track it down.