Jan Vroonhof writes:
The others you removed are.
(nth 1 l) --> (car (cdr l))
(nthcdr 2 l) --> (cdr (cdr l))
Did you do benchmarking on these ones?
I think expanding the forms allows the bytecompiler to
do a better job with things like (nthcdr 2 '(1 2))
Expanding the forms allows the bytecode interpreter to handle the
code without doing any function calls. The Bcdr and Bcar bytecodes
are handled inline if their argument is a cons. Bnthcdr always
involves a function call. So removing the source level expansions
is bad in this case.