How does TypeScript decide `T` here, given the literal argument and the `extends` constraint?declare function g<T extends readonly unknown[]>(...args: T): T; const r = g(1, "two", true);