Non-suspending alternative to await?

The keyword here is "next" (i.e. you look for a strict ordering). There is no built-in tool for that in the standard library, but there exist libraries. See for example mattmassicotte/Queue:

let queue = AsyncQueue()
// Start is guaranteed to run before stop.
queue.addOperation { await thing.start() }
queue.addOperation { await thing.stop() }