Introduction to OOP: Chapter 15 : Case Study: Container Classes
Strong Typing versus Containers
Strong typing is useful in programming languages because it helps in the
rapid discovery of programming errors.
But strong typing would seem to get in the way of developing useful,
reusable collection (or container) classes.
To be reusable, container classes must be independent of any application.
Values should not lose their type when placed into a container.
The programmer creating the reusable container classes will have no idea
what type of object it will hold.