Just out of interest...
If I were to design a library of containers, I would surely derive them from a common base class, which would have (maybe abstract) declarations of methods like size() and insert() .
Is there a strong reason for the standard library containers not to be implemented like that?