• Organize objects with a tree structure.
  • Provide uniform [[Interface]] on every node, making it easier to use. -> Transparency
    • We may lose a bit of safety because there may be some inappropriate or meaningless methods for some nodes.
    • We can have different interfaces for different types of nodes, but that forces us to check the type of a node before using it.
    • It is a design tradeoff to choose between transparency or safety.