name of array to iterate.
name of array of dimension lengths.
name to use for index vector. Declared in a new nested scoped.
number of dimensions to iterate over.
code to mixin each for loop before beginning the nested for loop.
code to mix in to each for loop after finishing the nested for loop.
Generate a mixin string of nested for loops that iterate over the first ndim dimensions of an array of type T (or, preferrably MatrixInfo!T.unqual).