And then there are truly trivial removals like the "failUnless" or
"SafeConfigParser" aliases. I don't see a good reason to remove those --
they could stay deprecated forever.
This part I do not agree with. In 3.10, there are 15 fail* and assert*
aliases with a messy overlap pattern.
https://docs.python.org/3/library/unittest.html#deprecated-aliases
This is 15 unneeded names that appear in the doc, the index, vars(),
dir(), TestCase.__dict__ listings, completion lists, etc.
Well, dir(), vars(), __dict__ and similar are already unpleasant --
ever since they started listing dunder methods, quite a long time ago.
But we could improve completion, docs and other cases that can filter the list.
How about adding a __deprecated__ attribute with a list of names that
tab completion should skip?