Of course. There is more than one way to fix it:
* Make GenericAlias substituting type variables in list. It is easier and it will fix this particular case, but there will be subtle differences in __args__.
* Add a GenericAlias subclass with overridden constructor, __repr__, __getitem__, __reduce__ (like the _GenericAlias subclass added in issue40397).
I think we should first resolve issue40397 and later decide what way be better. It is not necessary to reproduce all details of _GenericAlias if the practical behavior is the same. |