let forward_iterator_tag also inherited from output_iterator_tag