C# 5.0 introduced async/await in mid-2013 (late 2012 depending on how you count it), and F# had it before that in its version 2.0 (~2007). It's a pretty old "trend".
async/await aren't keywords in F# and kotlin
Rust?
F# in 2007
C# in 2012
Python in 2015
Typescript in 2015
Javascript in 2017
Rust in 2019
C++ in 2020
Swift in 2021
And maybe even Scala its "for comprehension".
Don Syme, creator of F#, had a nice thread on the roots of async/await, though it doesn't mention do-notation: https://mobile.twitter.com/dsymetweets/status/14074008179179...
I'm still annoyed that most other languages stole async/await... but not the more general monadic/do notation. Instead we get elvis operators, chaining functions, etc.
https://docs.microsoft.com/en-us/dotnet/fsharp/language-refe...
Async/await for example in C# or Rust is different. This translates the program into transition automata/coroutines.