On Sat, 6 May 2023, 15:13 Nikl Kelbon via Std-Proposals, <std-proposals@lists.isocpp.org> wrote:
Now (for compiler) std::strict_weak_ordering<...> is same as std::relation<...>, and std::equivalence_relation is same as std::relation
This produces amgibuity:

#include <concepts>
#include <functional>

bool foo(std::strict_weak_order<int, int> auto x) { return true; }
bool foo(std::relation<int, int> auto x) { return false; }


Why would it be useful to write this code? Is this realistic?

You haven't said why this is a problem that needs to be solved.