First, I will describe an example of how this can happen using C# in Visual Studio, since VS will typi
circular dependencies are bad because:
this is potentially an infinite-loop in the build process