When CONSTANTP is supplied an &environment object from the compiler
macro it can determine forms involving MACROLET to be constant, but
such forms are problematic for LOAD-TIME-VALUE and its null lexical
environment execution requirements.
If (for some reason) the var-list is empty, there is no code generated
that uses the reg-starts and reg-ends variables, and hence they become
unused.
And without the bindings, the substr-fn is also not necessary.