Hello all, I have been annoyed that everything is encapsulated under a single parent object in my project, like this: type Global = object st1: St1 st2: St2 ... var g: Global foo(g) bar(g) Run
Nearly every proc operates on this type and most likely it's passed as a `var` parameter. It also means fields are deeply nested, so you will see a lot of this pattern: `g.st1.foo.bar`. Would this style be more preferable: var st1: Stat1 st2: Stat2 foo(st1, st2) bar(st2) Run This way you can fine-tune what data you pass as mutable/non-mutable parameters. I would suppose this way it's more, or is it considered micromanaging? Which one do you prefer when writing code in Nim? Looking at the most popular project written in Nim, the compiler, I spotted a lot of procs that follow this pattern in their signature: proc foo(bar: var Bar; baz: Baz; bas: var Bas) Run So I suppose, that's more idiomatic?