Not clear whether this is a bug or an enhancement as doc is not explicit on the subject.
The triggering of builds based on dependencies is rather primitive.
Let's take an example: plan A depends on B & C. Both B & C depend on D.
If D changes we would like that B and C, then A, are compiled, ONCE. What actually happens is that B & C are both compiled (fine) but then A is compiled twice.
Evidently this is not efficient, and in a large tree of dependencies as we have, means that project compilation takes much longer than it should.