void () { doTest("(int, bool, s: str, b: bool) -> str", """ from typing import TypeVar, Generic, Callable, ParamSpec, Concatenate U = TypeVar("U") P = ParamSpec("P") class Y(Generic[U, P]): f: Callable[Concatenate[int, bool, P], U] attr: U def __init__(self, f: Callable[Concatenate[int, bool, P], U], attr: U) -> None: self.f = f self.attr = attr def a(q: int, r: bool, s: str, b: bool) -> str: ... expr = Y(a, '1').f """); }