@BigEpsilon CMIIW, as I don't really know the internal Nim, I'll try to answer to extent of what I know:
1\. `seq` already `ref` type, and content would depend on type kind. In your example you used literal values, and maybe if you used some `ref` types, it would pass the memory instead of copying it. 2\. I read somewhere with memory-region implemented, it would possible to have move and lent semantic. Using `ptr` array/seq certainly won't copy the `seq`. 3\. Using Nim without GC is as same as using C with nice syntax. You'll have to manage allocated and deallocated memory manually. Look for related `proc` s in [system module](https://nim-lang.org/docs/system.html). This [GC manual](https://nim-lang.org/docs/gc.html) explains the minutes of GC usage and how to tweak it.
