title: Why did STL made a(nother) distinction between a std::array and a std::initializer_list
body: <p>Why is there not only 1 type with the best performance, to define a list at compile time?</p>
  <p>The benchmark is clear, the <code>constexpr std::initializer_list</code> is faster, uses <strong>even</strong> less memory and the IO-reads are astonishingly less over <code>constexpr std::array</code>:</p>
  <p><a href="https://build-bench.com/b/1EDAcFjJ6NACk4Pg4tG2nbsEx0A" rel="nofollow noreferrer">https://build-bench.com/b/1EDAcFjJ6NACk4Pg4tG2nbsEx0A</a></p>
  <p>So why didn't they implement the array subscription methods to <code>std::initializer_list</code> make <code>std::array</code> unnecessary.</p>