Creating custom iterable objects – Part 2 – slashprog.com