For two types T and U, if common_reference_t<T, U>
is well-formed and denotes a type C such that both
are modeled, then T and U share a
common reference type, C.
Let t1 and t2 be equality-preserving
expressions ([concepts.equality]) such that
decltype((t1)) and decltype((t2)) are each T, and
let u1 and u2 be equality-preserving expressions such that
decltype((u1)) and decltype((u2)) are each U.
T and U model common_reference_with<T, U>