# input: ```py from typing import TypeVar, TypeAlias, Generic T = TypeVar("T", bound=float) Foo: TypeAlias = str | T | None class A(Generic[T]): ... def f(t: T): ... ``` # output: ```py type Foo[T: float] = str | T | None class A[T: float]: ... def f[T: float](t: T): ... ``` And also `ParamSpec` and `TypeVarTuple`.