Currently, the array storage is simply an std::array. Consider managing the memory (placement new) for in-place construction.