Remark: The expression inside noexcept is equivalent to the logical and of the following expressions:
where T1 is the ith type in Types.
Requires: Each element in *this shall be swappable with ([swappable.requirements]) the corresponding element in rhs.
Effects: Calls swap for each element in *this and its corresponding element in rhs.
Throws: Nothing unless one of the element-wise swap calls throws an exception.