The usage of arrays in this context is to emulate pointers and the codegen
sometimes needs pointers so that Nim's semantics can work. Consider:
proc mutate(x: var int) = x = 4
var global: int
mutate(global)
RunThe code generator sometimes does this where it would not be required but it's hard to do better and to ensure correctness at the same time.
