hi !
i submit you a little abstraction i made using the list-abs/ abstractions... i don't know if objects doing that already exist, but the idea is to move one element in a list, without changing the others.
i made it to change the rendering order in a Gem-based patch, in the spirit of the "layers" in many well-known image manipulation softwares. This should explain why it only works with floats lists. I also did not take care of the cases you try to move an element out of the "range" (i mean the list length)
maybe looking at the attached patch will be more meaningful than my poor english...
every comments are welcome (even to say it has already been made !)
ciao
raphaël