I think this comparison is good enough, since the purpose here is optimization.  Just wanted to note that a caller could, in theory, specify the same argument values in different combinations of positional and keyword arguments, i.e. ```func(1, 2, c=3)``` versus ```func(1, b=2, c=3)```.  Probably not worth handling this case.