
Sept. 5, 2019
3:38 p.m.
A problem with `(int, str)` that I believe hasn't been brought up yet is that it interferes with the existing use of subscription syntax, particularly by `Tuple`. `Tuple[int, str]` is equivalent to `Tuple[(int, str)]` but not to `Tuple[Union[int, str]]`, because `__getitem__` receives a single tuple instead of multiple arguments. I think all other subscriptable types could resolve the ambiguity in principle because they aren't variadic.