Complex models have a structure of Parts and Subassemblies in hierarchical dependence, in some cases in one is enclosed in another, etc.
Sometimes it is necessary to work with a complex model, for example, a robot with engines, arms, legs, etc.
There is a need to work with a model tree that allows us to show a hierarchy of components (nested parts and assemblies) select and move the components with all in the nodes, also turn on/disable visibility with hierachical sets.
It is also important that the part of the same name in the assembly or subassembly is an instance, and when editing its geometry changes every instance where it is used.