It's distinguishable if you use the runtime size information, but I'm not sure it's such a great idea to use that.

I'm not sure jtlap's suggestion is very good.
In our use case we'll start with a size of 0x1x1x1, then we'll add 6x8 and then again after 6x8. We want to end up with 6x8x2x1