enum_for returns an `Enumerator` from the given block. It's what all of the `Enumerable` methods do if they're called without a block. Essentially it lets you delay enumeration, or do a different kind of operation on the `Enumerable, like `#map`, later. It also is convenient to test, since you can just call `#to_a` on it rather than manually checking the yielded values.