но они несколько раз меняли подход к тому, как надо писать асинхронщину, так что те кто успел бабахнуть проекты на ранних версиях вынуждены были потом все перепиливать
Это происходило во всех языках где не было встроенной с самого начала асинхронщины
The code more directly reflects the programmer's intent, and does not require us to name the results r1 and r2. This advantage is even more pronounced when we mix control structures in async blocks.