>>> pretty $ rotate 1 2 a [[[8,9,10,11], [0,1,2,3], [4,5,6,7]], [[20,21,22,23], [12,13,14,15], [16,17,18,19]]]
>>> pretty $ rotate (Dim @1) 2 a [[[8,9,10,11], [0,1,2,3], [4,5,6,7]], [[20,21,22,23], [12,13,14,15], [16,17,18,19]]]
>>> rotate 1 [0..3] [1,2,3,0] >>> rotate (-1) [0..3] [3,0,1,2]
>>> pretty $ rotates [1] [2] a [[[8,9,10,11], [0,1,2,3], [4,5,6,7]], [[20,21,22,23], [12,13,14,15], [16,17,18,19]]]
>>> pretty $ rotates (Dims @'[1]) [2] a [[[8,9,10,11], [0,1,2,3], [4,5,6,7]], [[20,21,22,23], [12,13,14,15], [16,17,18,19]]]
>>> rotateIndex 0 1 [2,3,4] [0,1,2] [1,1,2]
>>> rotatesIndex [0] [1] [2,3,4] [0,1,2] [1,1,2]