OX operation can wrap around the end back to start, no need to ensure begin<end