better Object.defineProperty inference