Slighty off-topic, I'm surprised/amazed that top-level await is permitted at all.
This looks like it would allow some interesting new patterns in web programming, though at the expense of wreaking havoc with traditional execution models.
For example, await in event handlers:
<button onclick="await doOneThing(); doAnotherThing()">
Is the event object still valid when doAnotherThing is called?Or await in script blocks:
<p>Welcome back,
<script>
document.write(await fetchUsername());
</script>
</p>
Look ma, I stalled the page load with no synchronous XHR!