communication often doesn't flow freely up through branches
¤%%link;;{½3;each actor in hierarchy demands many extra resources
¤%%link;;{½3;i.e. several different dependencies cover the same usecase
¤%%link;;{½3;dependencies might overlap with dependencies of other libraries
¤%%link;;{½3;too much code is included, so bugs and attack-surface is bigger
¤%%link;;{½3;if wanting to use a sub-part of a big lib, the unused part is still included
¤%%link;;{½3;- and is often doing a worse job than specialized libs
¤%%link;;{½3;programmer is less in control with what libs to include
¤%%link;;{½3;e.g. if they are beginners, or want to be guided to "do the right thing" by others
¤%%link;;{½3;.. but some people think they want these hierarchies
¤%%link;;{½3;several instances of hierarchies have problems if too deep
¤%%link;;{½3;