obtendo o maior número em uma lista no esquema

Não entendo por que minha função de obter o maior número não quer funcionar. Se eu estou pensando sobre isso corretamente, se o primeiro átomo for menor que o segundo, então você chamará a função menos o primeiro da lista, caso contrário, você construirá o primeiro átomo, o maior, com o restante da 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))))))

questionAnswers(4)

yourAnswerToTheQuestion