cpp/utility/tuple/common type

The common type of two types is a std consists of the common types of all corresponding element type pairs of both types.

Given the following constraints need to be satisfied:
 * as the pack formed by the sequence of for every integer  in, and
 * as the pack formed by the sequence of for every integer  in ,
 * or is a std specialization.
 * is.
 * is.
 * equals ( and  have the same number of elements).
 * denotes a type.