(in-package my-fact)

(defun afact (number) "
And anaphoric factorial that prints each factor
(afact 3)
"
      (awhen (and (numberp number) (not (zerop number)) number)
             (print it)
             (* it (or (afact (1- number)) 1))))