Examples:
(let ((x 3)
(y 4))
(let ((f (lambda (a) (+ a y)))
(y 5))
(f x)))
==> 7
(let ((x 3)
(:y 4))
(let ((f (lambda (a) (+ a :y)))
(:y 5))
(f x)))
==> 8
The following procedure may be used to determine if a variable name refers
to a dynamic variable.
(define dynamic-var?
(lambda (var)
(char=? #\:
(string-ref (symbol->string var) 0))))