I'm not agaist obvious and useful side effects (that's why I don't program in LISP, though I like some aspects of it).
Personally, I don't consider your two examples as side effects (even though some would). The effect of warn and assigment is the intended effect. There could be other effects due to magic hanging off them, but that's another story.
As far as lexically bound, I mean that it seems more intuitive to have the hash iterator block scoped.