>>> class Z(Generic[T, P]): ...
...
>>> Z[int, [dict, float]]
- __main__.Z[int, (<class 'dict'>, <class 'float'>)]
+ __main__.Z[int, [dict, float]]
Furthermore, a generic with only one parameter specification variable will accept
>>> class X(Generic[P]): ...
...
>>> X[int, str]
- __main__.X[(<class 'int'>, <class 'str'>)]
+ __main__.X[[int, str]]
>>> X[[int, str]]
- __main__.X[(<class 'int'>, <class 'str'>)]
+ __main__.X[[int, str]]
Do note that generics with :class:`ParamSpec` may not have correct
``__parameters__`` after substitution in some cases because they