Per @AlexWaygood:
All the ABCs in collections.abc deliberately define __slots__ for this very reason: so that other classes can subclass those ABCs and still be able to use the __slots__ machinery to block the creation of instance dictionaries.
Linked PRs
Per @AlexWaygood:
Linked PRs