Hierarchies are Limiting Development
Programming code is repeating a lesson from history. Early databases such as IBM's IMS were hierarchical. But hierarchies proved to not be flexible, and "network" and "navigational" databases supplemented them. But they proved too unwieldy ("pointer-happy") and the relational model eventually superseded them. Our code models are having similar growing pains.
I was in a debate about whether a Java "on-click" GUI button method belonged with a "button" object or a "listener" object. Being with the listener object made implementation easier, but is less "natural" than being associated with a button itself. Why can't it be easily associated with BOTH? Similarly in an MVC application sometimes you want to group or search code by entity and sometimes by the MVC parts, such as the "model" folder. Why can't that also be both?
In relational you have many-to-many tables for such and adjust your query to dynamically associate, filter, and sort how you want. Object (type) hierarchies and folder hierarchies are stifling us. Ditch the trees: R&D time.