Swift's approach to this is pretty good. Arguments have a fixed order, and whether or not they are named at the call-site is explicitly decided by the author of the function signature.
In practice the order and identity of the arguments is quite clear in Swift.