> Btw I think "S" has a built in function to rotate its arrays as well.
I thought something did, but I couldn't remember what. I think it was S.
Again, I'm sorry, but this is not quite right. The function indeed is called rotate array, but it shifts a 1-dimensional array to the right or to the left (aka the equivalent to moving, not angular rotation), so
ABCD
rotated by 1 gets
DABC
or rotated by -1 gets
BCDA
Also, when using any free rotional functions, wether from 's' or just sin/cos, you can't make sure you will always keep all values on the grid (because of the rounding, that needs to be applied), leading to overwriting or doubling values.