This function doesn't follow the iterator convention, since when the closure returns false it doesn't end the traversal.