Range is interesting
Iterable | +------------------------------+ | | List Iterator | | +------+ +----------------------------+ | | | | | | Array LoL ListIter MapIter GatherIter Range
Since Range has a .reify, it can act as an Iterator.
The Range.iterator method (needed for all Iterable) just returns self.
Might relocate Range to Iterable at some point