David Alan Black <dblack / candle.superlink.net> writes:

> I have no doubt there are answers to my question (probably beginning
> with the word "very" :-)  -- among other things, I imagine that having
> to make that kind of decision at parse-time would wreak havoc with a
> large number of dynamic constructs.  At the very least, I would
> certainly agree that some kind of warning would be helpful in such a
> case.

The other side of the coin is: apart from pathological cases, how
often does this actually happen and bite programmers in practice. I
don't think I've personally even had this happen to me; the closest
similar problem is the asymmetry of using attributes accessors within a 
class:

   class Fred
     attr_accessor :bert

     def thing
       a = bert      # uses accessor
       bert = a + 1  # creates a new local variable called bert
     end
    end

Dave