In the description of function template partial ordering, there's a procedure for transforming member functions so that they can be compared with non-member functions: http://eel.is/c++draft/temp.func.order#3

I find the wording difficult to understand. First, the fact that "Each function template M that is a member function is considered to have a new first parameter..." occurs in this paragraph seems to suggest that the insertion of the implied object parameter is only done to the template that we're currently transforming (the argument template). But it seems that the intent is that the insertion of the implied object parameter is always done to both templates, because we want the parameter template (if a member function) to also have the implied object parameter. So I think the current wording is not clear enough about that.

Second, the wording "the positionally-corresponding parameter of the other transformed template" is also confusing for the same reason: we only transform one of the templates at a time.

I suspect this is a purely editorial issue, but I'm not sure what an improved version of the wording would look like. Maybe someone on this list can help suggest wording so I can open up a github issue (or just open up a github issue yourself).

--
Brian Bi