How does Nim return values from a proc? Are basic datatypes (like int and float) returned by copy? What about more complex structures like sequences and strings?
For example, would this proc: proc fillWith(n, count: int): seq[int] = var s: seq[int] = @[] for i in countup(0, count - 1): s.add(n) return s return what was instantiated on line 2? Or would it copy over the values to new sequence and return that to the caller? What about custom objects?