<p><pre><code>  &gt; I&#x27;ve never used Go, but it has some interesting 
  &gt; concurrency ideas. So do Node and Erlang. I naively 
  &gt; expect Rust to adopt the best ideas from each.
</code></pre>
This is where your naivete shows. Rust originally did have the same thread model as Go baked into the language and standard library, and it labored for years to find a usable compromise between Go&#x27;s green thread model and the native threading model. And a compromise is indeed necessary, firstly because we don&#x27;t just need another Go, and secondly because Go&#x27;s threading model imposes horrific costs when trying to interoperate with non-Go code (literally thousands of times the overhead that you&#x27;d expect). For a language like Rust that intends to interoperate with the native ecosystem, that overhead is unacceptable. After about three or four complete redesigns and rewrites the entire green threading infrastructure was chucked to the curb. Fortunately, Rust is low-level enough that libraries like mio can pick up the slack on their own, and in the meantime libraries that don&#x27;t need green threads don&#x27;t have to pay the price.