Allow you to iterate a hierarchical tree of different types of componets.
For example, you could have a repository with communities, each community could have subcomunnities, and each subcommunity could have collections, each collection could have items.
All of those are different elements, but they are related in a three.