> The graph can be modified safely by any number of threads concurrently, > however concurrent updates result in different graph versions. A graph > version is just another another root 'SharedPtr[ref T]`. (To be clear, a > graph version is not a full copy of the graph -- it's merely a copy of the > nodes that have been updated)
Reminds me of Clojure's STM system. I never used it myself but its the only other plausible shared multi-threading paradigm that I know about. Here's a longer reference: <https://clojure.org/reference/refs> I think it be great to implement something like it with ORC and lent's.
