This isn't strictly true; guarded assignment could still fail if there's a local variable with the given name.

I'd just get rid of this paragraph. It's a useful way of thinking about `variable-exists`, but I don't think it helps clarify `global-variable-exists`.