The values of variables are only looked up when we're evaluating a
symbol, and nowhere else (special forms such as a procedure call and
eval now evaluate their arguments, making things like ((lambda (x) (+ x
1) 41) possible).