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)
    
    
    Run

The 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.

Reply via email to