export type Writable = { -readonly [P in keyof T]: T[P] } export type WriteableArray = T extends readonly any[] ? Writable : T export type IfNever = [T] extends [never] ? Y : N export type IfUnknown = [unknown] extends [T] ? Y : N export type UnknowToNever = IfUnknown export {}