use the push/pull algorithm 1.sum() is dirty → so it asks for double() 2.double() is dirty → so it recomputes using the new count = 2 → double = 4 3.Now sum = 2 + 4 = 6 ✅ 1.count changes → it notifies all its dependents (double, sum) 2.These are marked dirty but not re-evaluated 3.effect is also marked dirty but not run ⏳ Nothing is recomputed yet.