This isn't _exactly_ true. JS will await on anything that is Promiselike (an object with a `then` function that accepts a callback). See the TS definition of Promiselike.
I use this all the time in async functions with code branches, some of which await and some return an immediate value.