export type Overwrite = Pick> & U; export type Delete = Pick>; export type OverwriteFnReturnType void, R> = (...args: Parameters) => Delete, R>; export type ConditionallyMergeRecordTypes> = C extends null ? S : C & S;