Yeah, I thought that through after, and revised my thoughts. I wrote it up top-level but I think the best way forward is embracing that this isn't consistent with anything else in Rust and introducing new syntax, specifically '!await' or '@await' postfix operator. The reason there isn't a good answer that's consistent is that the behavior is inconsistent. As such, it needs new syntax.
Either the syntax is inconsistent or the semantics are, and IMO, the former is preferable to the latter.
Either the syntax is inconsistent or the semantics are, and IMO, the former is preferable to the latter.