Hola Furoya:
Había pensado en ponerlo en las FAQs, pero traté de implementar una ordenación con el método quicksort y me encontré con varios errores...
Justamente por esa razón indagué sobre esos métodos que comentas (slice, concat...) y creo que ese move() tendría que ser una concadenación de tres arrays (el del medio de un solo elemento)... y de tratarse de mover los elementos de los extremos solo se concadenarían 2... aunque en tal caso sería más eficiente un pop() y un push() ...
Si me sale el "move()" te pasaré el código.
Saludetes