Since eval can produce functions with unknown arity, we need a way to deal with them. Specifically, we must be able to apply such a function to a variable number of arguments. Unfortunately, most offline partial evaluators for Scheme [6,8] do not treat variadic functions at all.
If we consider argument lists as partially static data structures [26] it is surprisingly simple to handle variadic functions. Hence the possible cases for specialization of :