Right after posting that (how often this happens!) I came across [the big ARC thread](https://forum.nim-lang.org/t/5734) here from last December. It sounds like ARC means a lot of (positive) changes to the things I've read earlier, like:
> The heap is now shared as it's done in C++, C#, Rust, etc etc. A shared heap > allows us to move subgraphs between threads without the deep copies but the > subgraph must be "isolated" ensuring the freedom of data races and at the > same time allowing us to use non-atomic reference counting operations. How to > ensure this "isolation" at compile-time was pioneered by Pony and we can do > it too via our owned ref syntax I've been interested in the Pony language for several years and adopting its memory model would be amazing! I'm still reading through this long thread. At this point I'm unclear on how much of this stuff is solid and enabled-by-default (in particular, what's the difference between "arc" and "orc"?)
