svoid test_structure_multiDimensionalIntArrays() { int[] a = new { 3, 10, -5 }; assertEqualsVerbose("intarray{3, 10, -5}", struct(a)); assertEqualsVerbose(ll(3, 10, -5), toList(restruct(a))); int[] b = new { 4 }; int[][] c = { a, b }; assertEqualsVerbose("intarray/2{intarray{3, 10, -5}, intarray{4}}", struct(c)); int[][] c2 = restruct(c); // check the actual type assertEqualsVerbose(ll(ll(3, 10, -5), ll(4)), lmap toList(toList(c2))); // test 3rd dimension int[][][] d = { c }; assertEqualsVerbose("intarray/3{intarray/2{intarray{3, 10, -5}, intarray{4}}}", struct(d)); int[][][] d2 = restruct(d); // check the actual type assertEqualsVerbose(ll(ll(ll(3, 10, -5), ll(4))), lmap(l -> lmap toList(l), d2)); }