I would welcome this as well as it would enhance the expressiveness of generics and probably save people coming from c++ a bit of pain. There also was another idea for implementing this in a more localized way suggested on github along with some further discussion [1]. In my use case, I have a bunch of very similar classes that all require slight changes in some of the functions. I could of course add an implementation in a common base class and add a bunch of methods that I override. However, the changes are spread out and I would have to add a lot of methods that need to be overridden which are used exactly once, which fragments the code and thus hurts readability. I'm currently using an Enum argument to specify which implementation detail to use. However, this changes the return type, thus making type annotations difficult. [1] https://github.com/python/typing/issues/629#issuecomment-829629259