Iterators are the foundation of generators. Much of the misunderstanding around generators comes from the lack of understanding iterators. An iterator has a Symbol.iterator
property with an object that contains a next
method which defines what is output each iteration.