For a function template whose return type is not specified above,
the return type is
an implementation-defined unsigned integer type
large enough to represent all possible result values.
Each function template has the same semantics
as the corresponding type-generic function with the same name
specified in ISO/IEC 9899:2024, 7.18.