Impresión de impresión en Lisp

Tengo una estructura de datos muy simple que he definido en Lisp:

;;Data structure for a person

(defstruct person
  (name nil)
  (age 0)
  (siblings nil :type list))   ;; Siblings is a list of person objects

Luego procedo a instanciar algunos objetos de persona:

(setf person-a (make-person :name 'Tim :age 23))
(setf person-b (make-person :name 'Sally :age 21))
(setf person-c (make-person :name 'Louis :age 24))

Luego relaciono a los hermanos (supongo que todos son hermanos entre sí):

(setf (person-siblings person-a) (list person-b person-c))
(setf (person-siblings person-b) (list person-a person-c))
(setf (person-siblings person-c) (list person-b person-a))

¿Cómo puedo imprimir información sobre los objetos que he instanciado y modificado? He examinado las opciones de una defstruct con respecto al objeto de impresión y la función de impresión, pero no puedo encontrar la manera de imprimir correctamente mis objetos. Usando algo como:

(print person-a)

envía mi intérprete de ACL a un bucle infinito.

Respuestas a la pregunta(2)

Su respuesta a la pregunta