usando lambda em vez de deixar o esquema

No SICP 1.2.1, existe uma função que cria um número racional, como segue:

(define (make-rat n d)
  (let ((g (gcd n d)))
    (cons (/ n g) (/ d g))))

Estou curioso para saber como você pode implementar a mesma coisa usando lambda em vez de let, sem chamar duas vezes o GCD. Eu não conseguia descobrir isso sozinho.