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