What is the resolved type of `R`, and what rule governs it?type FirstString<T extends any[]> = T extends [infer F extends string, ...any] ? F : "none"; type R = FirstString<[1, "a", "b"]>;