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.
Intro OOP, Chapter 20, Slide 03