I think the new PR gets the code to a pretty readable state:
- the
_Py_framename helps make it clear that the new struct is an implementation detail of the existing Python frame concept, rather than introducing a new concept -
_PyFramefunctions take eitherPyFrameObject*or_Py_frame*, so the name still aligns with the type even when the function has shifted to working with the new struct - the removal of the
f_prefix from the_Py_framefields that had it should be enough to solve the “quick orientation when resolving a merge conflict” problem that had me looking into this issue in the first place (my ultimate aim with this PR is to make it easier to sync the PEP 558 working branch with all the Python 3.11 performance improvements)
And for the local variable names, we can now say we tried renaming them, and decided the level of code churn was too high for the potential ambiguity reduction the change could have provided.