template(typename F1, typename S1, typename F2, typename S2)( \
requires CONCEPT<F1, F2> AND CONCEPT<S1, S2>) \
bool operator OP(common_pair<F1, S1> const & a, common_pair<F2, S2> const & b) \
{ \
return RET; \
} \
template(typename F1, typename S1, typename F2, typename S2)( \
requires CONCEPT<F1, F2> AND CONCEPT<S1, S2>) \
bool operator OP(std::pair<F1, S1> const & a, common_pair<F2, S2> const & b) \
{ \
return RET; \
} \
template(typename F1, typename S1, typename F2, typename S2)( \
requires CONCEPT<F1, F2> AND CONCEPT<S1, S2>) \
bool operator OP(common_pair<F1, S1> const & a, std::pair<F2, S2> const & b) \
{ \
return RET; \
} \