why wouldn't this be very cheap as `return x !== null && typeof x === 'object';` ? I realize the spec may be more verbose, but in JS, the IDL semantics can often be severely reduced.