class B{ private id: V; } class A{ GetEnumerator: () => B; } function Choice(...v_args: T[]): A; function Choice(...v_args: T[]): A { return new A(); }