Allow collections to be treated the same as single objects.
Define a typed tree.
Here is an object diagram from the GOF:
Here is a class diagram from the GOF: