This function will move the selected range between first and last to position, rotating elements as necessary. Returns iterators to the new positions.
Replace `std::find(range.begin(), range.end(), ...)` with `std::ranges::find(range, ...)`.