On [cppreference on `std::ranges::less`](https://en.cppreference.com/w/cpp/utility/functional/ranges/less), in **notes** we can see that:

> 
> Unlike `std::less`, `std::ranges::less` requires all six comparison operators `<`, `<=`, `>`, `>=`, `==` and `!=` to be valid (via the `totally_ordered_with` constraint).
> 
> 
> 

But... why? Why would we use `std::ranges::less{}` instead of `std::less{}`? What is the practical situation in which we want to `less{}` only if there are other comparison operators defined, not only the `<` one?