FirstT<Value>: Value extends string ? Value extends `${infer First}${infer Rest}` ? First : string | undefined : Value extends [infer First] ? First : Value extends [infer First, ...(infer Rest)] ? First : Value extends (infer First)[] ? First : undefined Type Parameters
- Value extends unknown[] | string