My point of view is that anything that makes system construction non-deterministic, conditional on the environment, sensitive to the order in which things are defined or otherwise surprising or hard to track is only going to make things harder in the end.
my painful memories loudly add a big +1 for that.
we moved to the foo+bar explicit dependency solution after we spent way too much time debugging stupid things that e.g. depended on inode order in the filesystem...