composite_and_iterator