> So what do you do: do you tell these teams not to use refs? Or do you tell > them to go ahead and use refs and garbage collection, and deal with the > consequences?
To be honest I would fire teams who model business taxonomies with C++ classes (OMG), keeping all the data in RAM (OMG) and not using a (noSQL / SQL) database (OMG). But in the context of Nim, I would likely live with refs, thread local GCs and when somebody queries my data, I would return a copy. Note that copying a query result doesn't mean to "keep full copies of the data around in RAM" which you sort of implied.