template<class G>
concept UniformRandomBitGenerator =
Invocable<G&> && UnsignedIntegral<invoke_result_t<G&>> &&
requires {
G::min(); requires Same<decltype(G::min()), invoke_result_t<G&>>;
G::max(); requires Same<decltype(G::max()), invoke_result_t<G&>>;
};