"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(); }