The essence of the iterator pattern (2009)

by J Gibbons, B C d S Oliveira