Other categories of iterators
Forward iterators combine the properties of input and output iterators
- you don't have to assign through each iterator exactly once
- you can come back to a place later
Bidirectional iterators also handle --
Random-access iterators also allow arithmetic with integers, relational ops