Incidentally, there is never any good reason to abuse upvar, as using
it correctly is exceedingly easy, and I would hope, usually obvious.
Using uplevel well is perhaps less straightforward and thus, ugly
usage more forgivable.
Rob's guidelines above are very good, thanks for that reminder.