Yeah, that&#x27;s well-suited to Rust&#x27;s design (although Rust didn&#x27;t ship with libgreen, the requirements of libgreen influenced the type system, and you can do a similar thing with a third-party library).<p>In any case the distinction between &quot;multiple processes&quot; and &quot;multiple threads&quot; here is fairly minimal, at least on Linux or OS X. As far as the kernel is concerned, they&#x27;re the same object (Linux calls them threads; Mach calls them tasks). It&#x27;s just that sometimes, groups of these things share pointers to things like memory map or file descriptor table, and sometimes they have their own pointers. There isn&#x27;t a whole lot of difference, either at the language level or the kernel level, between running multiple processes from the same executable image that map a shared heap versus just running multiple threads.