Thanks. These approaches look interesting. I’ll see if they work as a substitute.
The approach in my example was simple in the sense that it selected the method based on the highest degree of match or specificity. I can see how that may be difficult to implement, but it seems simple conceptually.
I may have misunderstood the discussion. My interpretation of the quote below is that dispatching on keyword arguments (or named parameters if that is the more appropriate term) is complicated by the presence of arbitrary optional keyword arguments which I interpreted to be kwargs... in my example. One complication is that kwargs... can introduce anything into the function.