Outra maneira de escrever um procedimento de valor máximo no Scheme?

Então, se eu tenho o seguinte, que retorna o menor valor de um conjunto de quatro números:

(define (minimum2 a b c d)
  (cond ((and (< a b) (< a c) (< a d)) a)
        ((and (< b c) (< b d)) b)
        ((< c d) c)
        (else d)))

Mas, quero escrevê-lo de modo que eu compare a para be encontre o menor valor entre esses dois, então compare ce, e encontre o menor valor entre eles, e então compare esses dois menores valores juntos para encontrar o mínimo real . Se o que eu escrevi foi difícil de entender, pense nisso como um suporte de torneio, onde um "joga" b, e o vencedor joga o outro vencedor entre c e d. Agradeço antecipadamente a ajuda!

questionAnswers(2)

yourAnswerToTheQuestion