(defun p-mapc (function list) ;; DO: Accept more than one list argument. (let ((tail list)) (loop while tail do (funcall function (p-car tail)) (setq tail (p-cdr tail))) list))