Conventional OOP does type dispatch on the first argument, so foo.<TAB> in IDEs is helpful. Statically typed functions could do the same!