A developer could potentially do something like this:
var promise = xrSession.requestHitTest(...);
window.setTimeout(() => { promise.then(...); }, 99999);
What happens here? The result is totally invalid at the point when it resolves. Can the promise be invalidated after the RAF for which it is valid is issued? This gets especially dangerous if we add the XRFrame object to the promise resolution of hit-test, as that frame will be potentially invalid at the late-attached "then".