//unshift type Unshift<T extends any[], K> = [K, ...T]; type unshift = Unshift<[1, 2], 0>; // [0, 1, 2,]