iterating semantics explanation