An Alternative Syntax for Async Functions After thinking about the async fn in traits problem for a while, I've come to the conclusion that the syntax Rust chose for async fn is the wrong one. Specifically, the fact that the returned future type is hidden is quite limiting: // this really returns an `impl Future<Output = usize>`, but that's hidden async fn foo() -> usize { 1 } I propose that we sh