Generators allow your iterators to be stopped whenever you choose. The logic can be placed inside of the generate with a return
statement or you can call a return
method on the iterator itself to prevent the iterator from yielding any more values.