Excellent deep dive on how Rust has polished its compiler errors for async: https://blog.rust-lang.org/inside-rust/2019/10/11/AsyncAwait-Not-Send-Error-Improvements.html