Given PEP 560, why do generic types still use a metaclass in Python?
In [8]: from typing import Generic, TypeVar
In [10]: type(Generic[T])  
Out[10]: typing._GenericAlias
In [11]: type(Generic[T]).__mro__   
Out[11]: (typing._GenericAlias, typing._Final, object)
My problem is that I want to define a set subclass:
T = TypeVar('T')
class Selection(abc.MutableSet, MutableSet[T], QObject):
    """
    A MutableSet that emits QEvents
    """
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.selection: Set[T] = set()
but I get the error:
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
