If you then just do a change to `b`, then only that will get re-evaluated as well as cells below it (so that it's `a=10` that will be used).
Solving this generally seems hard (Pluto style...) probably better to just
1. recommend users don't redefine variables carelessly within a page
2. if they really want to, that they put a `!!` on the first cell so that the whole page is evaluated on every change (because it would always get re-evaluated and, therefore, so will all the cells below it).