Iterators S is a collection Elements(S) = {e1, e2, …, en} where n ≥ 0 ∀ e ∈ Elements(S), ∃ I′ : iterator_next( I0 ) → I′ Unary function F (x): Domain → Codomain binary function F (x, y): Domain1 × Domain2 → Codomain unary predicate P (x): Bool binary predicate P (x, y): Bool