Generic Iterable type limited to list, tuple, set and arg to some basic types

Hello,

What I’m trying to do is to avoid repeat GenericIterableType[SOME_BASIC_TYPE] at the code bellow. I can’t pass Union type to the GenericIterableType, because union of int, str, bool types differ from “str” type for example…

type TT = int | str | bool | float
type GenericIterableType[T: TT] = list[T] | tuple[T, ...] | set[T]
t: (
    type[
        GenericIterableType[int]
        | GenericIterableType[str]
        | GenericIterableType[bool]
        | GenericIterableType[float]
    ]
) = list[str]

Thank you.