Dependencies and programmatically avoiding circular references

I don’t have any immediate solutions to suggest, but in general I’ve noticed that if I’m building phrases to label subparts of a thing it may mean there’s a name missing.

In your situation, it sounds like the “Db-supporting parts of DevUtils” and the “Flags-supporting parts of DevUtils” might be happier as separate packages.