>>62
(reverse "abcab")(loop for i across "abc" collect (if (char= #\a i) #\b i))(defun f (x) (do ((f-iter (lambda (y z) (if (> y 1) (funcall z (progn (setf x (* x (1- y))) (1- y)) z))) f-iter)) (nil nil) (funcall f-iter x f-iter)))