Type HasDefinedKeys: { [K in keyof TCheck & keyof TObj]: TObj[K] extends undefined ? never : K } [ keyof TCheck & keyof TObj] extends never ? never : TObj