That operation also needs to be async itself, and ultimately it needs to be implemented as running on a separate execution queue.
Yes, but this is the relatively easy bit. It's writing comprehensible code around and about that underlying async operation (such as a file read) that is the messy part.
Ultimately, `async` and `await` still are nothing but sugar over the Tasks API.
The tone here implies that sugar is not an important thing in programming languages. These keywords do a great deal for you, under the bonnet. After all, everything is 'sugar on top of machine code'.