Range swapping behaviour should be configurable

As requested by @fmal via email