To clarify, C++20 concepts don't offer any new possibilities here, they are just a cleaner way to express type requirements compared to the old
std::enable_if
.