Given a list of pairs, where one is an object and the other the arguments of the constructor, find a way to construct all of the objects.
Topological sort and run. That’s all there is to dependency injection and I cannot imagine a graph so large that I would care for toposort