Interfaces and protocols
Source: A value is considered iterable if it has a method whose key is the symbol
Symbol.iteratorthat returns a so-called iterator. The iterator is an object that returns values via its method
next(). We say: it enumerates items, one per method call.