@Charles: Frameworks do not have to have excessive internal dependencies, nor are they required to be non-composable. There is not much to argue about here one way or the other since we are stuck with what we are given (you can argue previous decisions limited later design choices). But it would have been nice to update one library in the framework, without worrying about the others... and possible as well, with some effort such as behavioral contracts, and limiting dependencies.