"range::is_wrap_around() will not work with current ring_position, because it relies on total ordering. Same for range::contains(). Currently ring_position is weakly ordered. This series fixes this problem by making ring_position totally ordered. Another problem fixed by this series is handling of wrap-around ranges. In Origin, ]x; x] is treated as a wrap around range covering whole ring."