We can utilize this to allow for transitions to other container types while retaining support for C-style arrays (e.g. We can seamlessly transition over to std::array).