Substitute allows replacing a function with a CL lambda form. A more consistent substitute might break this. This substitute feature
isn't documented (unless reading the source is documentation :).
My proposed risch.lisp code for replacing the buggy ev(XXX, 'nouns) uses the trick of replacing a CL lambda form for a Maxima function.
--Barton