First draft of iterator interface, with examples