With mypy in a generic class, the type of “args” is “tuple[Unpack[Ts`1]]” but the type of concatenated “args” is “builtins.tuple[builtins.object, …]” as shown below:
The type checkers are what provides the implementation of reveal_type so different checkers give different answers:
$ mypy t.py
t.py:4: note: Revealed type is "tuple[Unpack[Ts`1]]"
t.py:5: note: Revealed type is "builtins.tuple[builtins.object, ...]"
Success: no issues found in 1 source file
$ pyright t.py
.../t.py
.../t.py:4:21 - information: Type of "args" is "tuple[*Ts@MyCls]"
.../t.py:5:21 - information: Type of "args + args" is "tuple[Union[*Ts@MyCls], ...]"
0 errors, 0 warnings, 2 informations