The branch adds a _OrderedSet util and uses it to be able to easily honor the topological order calculated by neededResources().
The branch adds a _OrderedSet util and uses it to be able to easily honor the topological order calculated by neededResources().