obtener el mayor número en una lista en el esquema

No entiendo por qué mi función para obtener el mayor número no quiere funcionar. Si estoy pensando en esto correctamente, si el primer átomo es más pequeño que el segundo átomo, entonces llama a la función menos el primero de la lista, de lo contrario, construye el primer átomo, el más grande, con el resto de la lista. código relevante:

(define (getlargest a_list)
  (cond
    ((null? a_list) '())
    ((< (car a_list) (cadr a_list)) (getlargest (cdr a_list)))
    (else (cons (car a_list) (getlargest(cdr a_list))))))

Respuestas a la pregunta(4)

Su respuesta a la pregunta