It's also a question of whether it should be changed at all. Note that not just next, last and redo use dynamic scoping, but so do eval/die (and common lisp conditions and throw/catch in most languages). There is a clear need for some kind of dynamic management of flow control.