However, here, I'm not sure it make sense. All concrete classes are using IteratorAggregate, and I don't see why someone would create a different implementation