Using module variables as dimensions in function arguments

Awesome, thanks @RonShepard for the explanation. For some reason I thought the n must come from function arguments, but now I can see that it can come up from anywhere.

It looks like it is evaluated when the function is called and that is the size of the array for the duration of the function, and even if n changes later, that does not modify the array size.