Right now if you accidentally create a circular dependency, one of the two modules ends up being defined as a blank object, and this can cause much confusion when debugging as I learned firsthand.
It would be good if the loader warned if this happens, with the exception that the warning should be suppressed if one of the modules also depends on 'exports' (which would indicate that the author is aware of the circular dependency and is working around it).
If it is too complex to do this suppression behaviour, just warning on all circular dependencies is probably better than the current behaviour of never warning and just returning a blank object.