| 
         | 
    ||
        
  | 
    
I understand Lua programs much better than scoping lingo.  Lua upvalues
cannot be said to be lexically scoped because the following program prints
"5" instead of "10"?
    do
        local a = 5
        local foo = function() print(%a) end
        a = 10
        foo()
    end