Introduction to OOP: Chapter 16 : A Case Study : The STL
Basic problem - how do you allow access to elements of collection,
without knowing how the collection is organized?
Solution, define a new data type specifically for creating loops
A large number of algorithms are provided by the standard library,
all built using iterators.