Dynamic Bindings
----------------
The standard `let' form binds variables whose names are known at
compile-time. The `progv' form provides an easy way to bind variables
whose names are computed at run-time.
- Special Form: progv symbols values forms...
This form establishes `let'-style variable bindings on a set of
variables computed at run-time. The expressions SYMBOLS and
VALUES are evaluated, and must return lists of symbols and values,
respectively. The symbols are bound to the corresponding values
for the duration of the body FORMs. If VALUES is shorter than
SYMBOLS, the last few symbols are made unbound (as if by
`makunbound') inside the body. If SYMBOLS is shorter than VALUES,
the excess values are ignored.