A document.write() call inside an inline script during parsing reopens the input stream at the parser's insertion point. Why can the same document.write() behave very differently when called from an async (or deferred) script versus a parser-blocking inline script?