The recent [landing of recursive union queries](https://github.com/omcljs/om/pull/562) in Om Next allows for defining recursive, heterogeneous data in a simple, expressive way. In a series of posts, I will explore how this conjugates with well-known Software Engineering structural design patterns that are based on object recursion. In this part 1 we will put together a simple component hierarchy that uses the [Composite](https://en.wikipedia.org/wiki/Composite_pattern) design pattern. Let's d...