How Rust optimizes async/await | Hacker News