こんなもんかな
(defun printlist (s &optional (n 1))
 (if s (cons (list n (car s)) (printlist (cdr s) (1+ n)))))