How are ListLabels, ArrayLabels, etc. implemented?

The point is that the semantics of a function call is the same (“uniform”) for all orders in which a writer may supply arguments, when supplied using labels.

Making the argument ordering semantically insignificant is a good thing because argument ordering is arbitrary. I don’t like arbitrariness. Do you?

There are of course cases when it is natural for the position of an argument to carry meaning, say for various standard binary operators. In those cases, by all means, use positional arguments.

I also found this old post by @Yaron_Minsky that does a more thorough job explaining the benefits of labeled arguments: The ergonomics of labels - #11 by Yaron_Minsky