Iterator Objects
Both List and Tree objects may be traversed with an Iterator object.
Iterators exist soley for this purpose, and can technically operate on any object that has an Iterable header.
Iterable objects can be bi-directionally traversed, and automatically track the position and handle relative movement.
More information about the features provided by these objects can be found in this directory and the BLOC/iterator.h header file.
It is possible for a program to create iterable object types of its own.
This is done by embedding the Iterable structure as the object's header, and working with the IterableEntry structure, or embedding it in a custom entry structure, for all entries.