Тогда вы, потратив немного памяти, получите плюсы обеих структур данных.
Добавлять eslint в существующий проект, если он с историей и над ним работает команда из нескольких человек - это может быть весьма больно.
type ExtractGenerics<T extends readonly unknown[]> = T extends readonly []
? []
: T extends readonly [G<infer V>, ...infer Next]
? [V, ...ExtractGenerics<Next>]
: T extends readonly (G<infer V>)[]
? V[]
: never;
type Input2 = G<number>[]
const values3 = unwrap([ // = number[]
{ value: 1 },
] as Input2)
VSCode это и не IDE по-хорошему-то.
С небольшим уточнением: если надо искать ТОЛЬКО по ид.