Frankly, async being non-intuitive does not imply that manual concurrency handling is less so; both are a PITA to do correctly.