` Require "var" for speed` Parameter passing and iteration of plain objects should have been fixed
* <https://github.com/nim-lang/Nim/issues/14421#issuecomment-632734533>= * <https://github.com/nim-lang/Nim/issues/16897> In your case we lack information on how you use the object. Will it be copied? Will it be shared? If you copy it, do you want the copies to be independent or updates on one copy to update the other? Is there multithreading involved? Usually if shared or shared update: use ref object, if independent use plain object. If multithreading, use plain object or ptr object and manual memory management (oor implement atomic refcounting). Then once your program works, profile and reconsider choices. Because maybe the copies are expensive but the solution is not to use ref object but to introduce a cache instead.