The following function templates shall have additional overloads:
arg norm
conj proj
imag real
where norm, conj, imag, and real are constexpr overloads.
Function template pow has additional overloads sufficient to ensure,
for a call with one argument of type complex<T1> and
the other argument of type T2 or complex<T2>,
both arguments are effectively cast to complex<common_type_t<T1, T2>>.
If common_type_t<T1, T2> is not well-formed,
then the program is ill-formed.