@@ -228,7 +228,7 @@ def visit_instance(self, t: Instance, /) -> Type:
228228last_known_value = raw_last_known_value
229229return Instance (
230230typ = t .type ,
231- args = self .translate_types (t .args ),
231+ args = self .translate_type_tuple (t .args ),
232232line = t .line ,
233233column = t .column ,
234234last_known_value = last_known_value ,
@@ -242,7 +242,7 @@ def visit_param_spec(self, t: ParamSpecType, /) -> Type:
242242return t
243243
244244def visit_parameters (self ,t :Parameters ,/ )-> Type :
245- return t .copy_modified (arg_types = self .translate_types (t .arg_types ))
245+ return t .copy_modified (arg_types = self .translate_type_list (t .arg_types ))
246246
247247def visit_type_var_tuple (self ,t :TypeVarTupleType ,/ )-> Type :
248248return t
@@ -255,14 +255,14 @@ def visit_unpack_type(self, t: UnpackType, /) -> Type:
255255
256256def visit_callable_type (self ,t :CallableType ,/ )-> Type :
257257return t .copy_modified (
258- arg_types = self .translate_types (t .arg_types ),
258+ arg_types = self .translate_type_list (t .arg_types ),
259259ret_type = t .ret_type .accept (self ),
260260variables = self .translate_variables (t .variables ),
261261 )
262262
263263def visit_tuple_type (self ,t :TupleType ,/ )-> Type :
264264return TupleType (
265- self .translate_types (t .items ),
265+ self .translate_type_list (t .items ),
266266# TODO: This appears to be unsafe.
267267cast (Any ,t .partial_fallback .accept (self )),
268268t .line ,
@@ -299,7 +299,7 @@ def visit_union_type(self, t: UnionType, /) -> Type:
299299return cached
300300
301301result = UnionType (
302- self .translate_types (t .items ),
302+ self .translate_type_list (t .items ),
303303t .line ,
304304t .column ,
305305uses_pep604_syntax = t .uses_pep604_syntax ,
@@ -308,9 +308,12 @@ def visit_union_type(self, t: UnionType, /) -> Type:
308308self .set_cached (t ,result )
309309return result
310310
311- def translate_types (self ,types :Iterable [Type ])-> list [Type ]:
311+ def translate_type_list (self ,types :list [Type ])-> list [Type ]:
312312return [t .accept (self )for t in types ]
313313
314+ def translate_type_tuple (self ,types :tuple [Type , ...])-> tuple [Type , ...]:
315+ return tuple (t .accept (self )for t in types )
316+
314317def translate_variables (
315318self ,variables :Sequence [TypeVarLikeType ]
316319 )-> Sequence [TypeVarLikeType ]: