The following test is rejected:
CL-USER> (apply 'and '(t t t))
; Evaluation aborted on #<CCL::CALL-SPECIAL-OPERATOR-OR-MACRO #x3020013A1F3D>
My first reply was trying to encapsulate the call to the and special operator into a lambda or defining my own definition, but of course it can’t work. Since it would results in calling the apply function for 'and on the &rest parameter… How would you tackle the issue?
Use the function EVERY instead.
You can’t apply special operators.
Next solution:
Don’t use APPLY for list operations. Use REDUCE.