> But regarding languages: k/q the issues with them is that they use x, y and z as keywords for the parameters. x is always the first parameter, y - second, z - third. In KatLang parameter names are not predefined keywords, you can pick almost any parameter names you like.
They aren't in q either: x can be redefined to whatever you like.
How does KatLang determine which argument is first? Is it merely the first free variable?