In LISP, the changing argument should be the one tested in the termination condition, and it should be changed to be closer to termination.