array shall provide support for the special case N == 0.
In the case that N == 0, begin() == end() == unique value. The return value of data() is unspecified.
The effect of calling front() or back() for a zero-sized array is undefined.
Member function swap() shall have a noexcept-specification which is equivalent to noexcept(true).