template <class Lhs, class Rhs, class Output = Lhs>
requires(const Lhs& lhs, const Rhs& rhs) {
{ lhs& rhs } -> std::same_as<Output>;
}