"The root of Dart’s collection classes start at Iterable. An object that implements Iterable exposes read-only access to a group of items" - from https://www.dartlang.org/dart-tips/dart-tips-ep-5.html