Would named positianal arguments with defaults not work in your scenario?
There are easy ways around this, e.g. just passing something ordered to `f`, but the keyword argument syntax seems the most concise to me.
Or maybe I do not get you approach - in that case, could you give an example?
Now, if you had said the other way around (ppl expect them to be order-sensitive but they are order-insensitive), that would have made sense...
Conversely, If (because I think it is order-sensitive) I believe that, in order to make the function do what I want, I have to call f(a=1,b=2) and not f(b=2,a=1), then I'm not going to change the order willy-nilly, so I won't be affected by my expectations not matching reality.