Range elements are movable (mobile) if they are returned by reference and can be moved or if the elements doesn't define an elaborate postblit constructor. Allowing to define custom moveFront/moveBack/moveAt makes the range definition more complex (particulary writing range adapters) without a good reason.