I'm pleased to see the List Factory take a pointer to a buffer created for its initialization. What do you think about also allowing the initialization-style assignment?
For instance:
array<int> a = {1, 2, 3, 4};
// Some time later...
a = {5, 6, 7, 8};
It seems like the compiler could set up the same buffer and pass it to a special assignment operator designed to handle the buffer.