After further inspection, I think we can return the iterator directly.  From some reading, it appears that generators are iterators but not the reverse. So changing the docs to say each method returns an iterator seems the most accurate and complete. 

Also, if we add/wrap methods with the caching, that returns a class that is in fact an iterator.

And thanks for the note on catching Exception.