- Evaluation of cast and funcall when the type and
``function'' arguments are constant, as described above.
- Evaluation of operations on constants.
- Simplification of if statements when the test value is known.
- Unrolling of for loops when the loop is over a constant
list. This is used for accumulators which have the arity *;
it has the effect of turning a loop over the declarative set of
accumulators into a sequence of straight-line code that updates
each accumulator individually.