Blocking threads.<p>People associate threads with shared-memory concurrency, which can be really hard to deal with, but shared heaps are not the important part - blocking is.<p>Blocking threads means that all your functions can call each other, all control flow constructs just work, and debugging is sane. With blocking threads functions don&#x27;t need to belong to a special class of async functions that in general need to be called from other async functions.<p>It would have been great if node invested in allowing many concurrent blocking JS threads. To see what that could have looked like, see Dart&#x27;s Fletch project: <a href="https:&#x2F;&#x2F;github.com&#x2F;dart-lang&#x2F;fletch" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;dart-lang&#x2F;fletch</a>