=== tests/cases/compiler/overloadGenericFunctionWithRestArgs.ts === class B{ >B : B >V : V private id: V; >id : V >V : V } class A{ >A : A >U : U GetEnumerator: () => B; >GetEnumerator : () => B >B : B >U : U } function Choice(...v_args: T[]): A; >Choice : (...v_args: T[]) => A >T : T >v_args : T[] >T : T >A : A >T : T function Choice(...v_args: T[]): A { >Choice : (...v_args: T[]) => A >T : T >v_args : T[] >T : T >A : A >T : T return new A(); >new A() : A >A : typeof A >T : T }