从只读类型中提取泛型类型
type Writable<K extends string | number | symbol, V> = {-readonly [P in K]: V;}
type ExtractFromReadonlySet<T> = T extends ReadonlySet<infer R> ? R : never;type ExtractFromReadonlyArray<T> = T extends ReadonlyArray<infer R> ? R : never;type ExtractFromReadonlyMap<T> = T extends ReadonlyMap<infer K, infer V> ? [K, V] : never;
