I had a question on your implementation of the homework assignment from part 2. When you used your container_traits classes was there a particular reason why you didn't just create an additional set of specialized classes to implement the specialized erase
methods? Was it just for simplicity of demonstration or is there a technical reason? I would think eliminating the need for the ignored argument would ultimately be a better solution since you wouldn't have to hope for an optimization by the compiler.