By relying on structured concurrency in combination with thread-per-core runtimes you can get by without the pesky type bounds that make asynchronous Rust such a pain to use.
- You avoid ’static by using structured concurrency.
- You avoid Send + Sync by using a thread-per-core runtime.