These examples always distill down to creating a clean new ref in a no-side-effect-proc with all the data passed in as value types. This seems like a pretty limiting set of preconditions to me. What if `send` needed to take a ref type instead of a string?
It's all good to not want ref types to work like I believe they do in other langs. I just think your example is sort of not addressing the crux of what I was trying to point out. I don't want to belabor further though, thanks for your patience. The shared heap + ptr + locks enable what I believe may be unavoidable so in the end I'm much better off with Nim 2.0 and am content with that.