One more obvious optimization
Use initialization instead of assignment where possible
Iterators, copy and move constructors
Proper const and non-const implementations
Forward iterator tag
Copy-on-write, getter, setter
Tests
Exceptions
Exception tests
Array-based index and bugfix