Great post. I'm excited to not have to write "arr[arr.length -1]" another time in my life!
I do feel like top-level await is going to make it really easy to write very poor-performance javascript though.
If I stick "await getUserInfo()" in the middle of a long script, it could block a lot more code than it would if it was only inside the async function.