With a solid understanding of how generators iterate then pause at a yield, we can now pass values into the next method and receive them where the generator paused then continue to the next iteration.
yield
next
createReverseIterator is not used by the function in this example
createReverseIterator is not used by the function in this example