From Spawn to FuturesUnordered: How Community Feedback Reshaped Our Async Design The Setup A few weeks ago, I published a proof-of-concept on Reddit: "Abstraction as Complement to Standardization." The core idea: avoid vendor lock-in not with more layers, but by building a thin trait abstraction directly on top of the Future standard that Tokio, Embassy and WASM all implement. The post resonated — it hit #2 on r/rust. But the real value came afterward, in the comments. The community didn't just validate the approach. They questioned a specific design decision and offered something cleaner. And now we're rethinking the whole thing. The Original Design: Four Traits The PoC proposed four traits composed into a generic Runtime : RuntimeAdapter — platform identity Spawn — task creation (the controversial one) TimeOps — clocks and sleep Logger — structured output The setup was clean: portable code receives RuntimeContext<R> and uses typed accessors. Everything monomorphizes away at compile time.…