That's a decent solution, but not completely, exactly analogous because it's wangling a one-dimensional array into behaving [somewhat] like a 2D. Accessing one cell at a time, there are a lot of viable solutions
But...the primary reason I want N-D arrays has to do with accessing multiple elements in one shot, where solutions like this one fall down. For example, I might use a bit array MyBitArray[0..256][0..5000], because I want there to be a syntax that lets me WRITE all the bits in MyBitArray[52][243...789], but I'm READING the array orthogonal to the way I'm writing: MyBitArray[][2157] should return some structure containing 256 bits.