It was just for consistency with the other places where it's used. Should I drop the check? (I guess, in theory, it could happen that new node fails to allocate while keeping old IEventTarget around, but probably not worth in practice)
BTW I noticed something else, I probably should move the document_mode and window retrieval to navigate() to keep the globals synced as it's expected (in the tests).