Charles Oliver Nutter wrote:
> Perhaps it's a behavior that should be discouraged, or even qualifies as 
> a "bug" in the user's code, but it and many other peculiar scenarios are 
> physically allowed by the require structure today.

I think it's also worth pointing out that people probably don't 
introduce these circular require dependencies on purpose...they're more 
likely the result of a library growing to the point where a couple files 
just happen to require each other. And then some day someone launches a 
couple threads that require in different parts of that library, and 
things deadlock. Nobody's fault, right?

- Charlie