I think the ?? can be already used for Result<Result<_,_>,_>.
I agree that the syntax should have `await' somewhere, and the observation that it "clearly" is not a field access is actually credible to me. This also open the possibility to have other kinds of postfix keyword e.g. .try or .match
1. Use a postfix ?! instead of .await
2. Use a postfix ?? instead of .await?
3. Use the await keyword only in the "for await" construct
Then the common case becomes:
Which, imo, is a bit easier to parse than: This would make it easier to follow the core logic in async code, the same way that ? made error handling so much cleaner in Rust.