None
FI
What's coming in TypeScript 4?
[]
HTTP Toolkit
function concat( nums: number[], strs: string[] ): (string | number)[] { return [...nums, ...strs]; } let vals = concat([1, 2], ["hi"]); let val = vals[1]; // infers string | number, but we *know* it's a number (2) // TS does support accurate types for these values though: let typedVals = concat([1, 2], ["hi"]) as [number, number, string]; let typedVal = typedVals[1] // => infers number, correctly function concat<N extends number[], S extends string[]>( nums: [...N], strs: [...S] ): [...N, ...S] { return [...nums, ...strs]; } let vals = concat([1, 2], ["hi"]); let val = vals[1]; // => infers number const val2 = vals[1]; // => infers 2, not just any number // Go even further and accurately concat _anything_: function concat<T extends unknown[], U extends unknown[]>( t: [...T], u: [...U] ):…