Terminology A requirement is some operation doing something ++ to move a step is a requirement A concept is a set of requirements An iterator is a concept A model is something that fulfils a concept A pointer is a model of an iterator