// @strict: true type PartialDeep = {[K in keyof T]?: PartialDeep}; type Many = T | readonly T[]; interface Collection { sortBy(...iteratees: Many>[]): Collection; } const x: Collection<{x: number}> = (null as any as Collection<{x: number, y: number}>); export {};