When I run `omitDeep({ x: undefined }, 'y')` I expect to receive `{ x: undefined }` (or `{}`) But I receive `{ x: {} }` The problem here is that, when I check for the existance of `x` afterwards, I get false positives. Is there a good reason for casting this way? Otherwise I'd like to change this.