By the way, it's time to point out that since a function call f(X) may be an argument of a function, "<keyword> :" isn't going to work. How are you going to tell g(foo : f(X)) % keyword foo, call f(X) from g(foo:f(X)) % no keyword, call foo:f(X) Something like Ada's => might work though.