> Does the test suite pass for apply-to-all.diff?
No, multiple tests fail. First test_distutils fails, then during the re-run, test_multiprocessing_forkserver, test_multiprocessing_spawn, and test_pdb fail.
> Also, quite a hornet's nest you've uncovered (about __class__ assignment).
Yes, indeed. Apropos, I see that bpo-24991 is still open.
> Would that be fixed better with the IMMUTABLE flag?
That would be a change of functionality, given that we apply the immutable flag to all built-in types. Currently __class__ assignment is allowed for heap types, and it has been so for many years.
I feel reluctant to add apply-to-all.diff to the PR right now.