The set of interfaces and contracts support ECMAScript 6's iterator pattern and the `for ... of` loop syntax.