This comes up a lot in wrapper code. Often, we're resolving a property or defining a property on an object, where the resolve hook takes a |jsval| id. When we want to forward this request to the wrapped object using the public API, we cannot, because our only choices are written as: JS_HasUCProperty JS_HasElement (and other variants). It would be nice (for consistency) to have JS_HasObject (or something) to avoid these cases. On the other hand, it's possible that we really just don't care about E4X enough to add public APIs for these cases. I just wanted to get this bug filed for the record.