When your custom collection has more than one way to be traversed, return Enumerator instead of including Enumerable.
Get a better understanding of Ruby enumerators by looking at them from 3 different perspectives.
Let’s look at an example of how custom enumerators can help on your day-to-day work.