This issue seems to come up frequently enough to deserve a page of tips, suggestions, warnings, etc.
The basic situation is that a user is trying, either intentionally or accidentally, to do pointer like design.
So they have something like:
set a "123" set b "3.1415" set c "The price of petrol in Peroria" foreach var a b c { puts [set $var] }