I think this can be simplified to use the standard syntax for `@ngenerate` instead of `eval(ngenerate(...`. See the [Cartesian docs](http://julia.readthedocs.org/en/latest/devdocs/cartesian/?highlight=cartesian#supplying-the-number-of-expressions) and `multidimensional.jl`.