"Produces elements of an `Iterable` object. Classes that
implement this interface should be immutable."
see (`interface Iterable`)
by ("Gavin")
shared interface Iterator<out Element> {
"The next element, or `finished` if there are no
more elements to be iterated."
shared formal Element|Finished next();
}