dowolne dodawanie precyzji za pomocą list cyfr

Próbuję zrobić dwie listy i dodać je razem, tak jak każda lista jest liczbą całkowitą.

(define (reverse lst)
 (if (null? lst)
  '()
  (append (reverse (cdr lst)) 
      (list (car lst)))))

(define (apa-add l1 l2)
  (define (apa-add-help l1 l2)
    (cond ((and (null? l1) (null? l2)) '())
      ((null? l1) (list (+ (apa-add-help '() (cdr l2)))))
      ((null? l2) (list (+ (apa-add-help (cdr l1) '()))))

      ((>= (+ (car l1) (car l2)) 10) 
       (append (apa-add-help (cdr l1) (cdr l2))               
               (list (quotient (+ (car l1) (car l2)) 10))
               (list (modulo (+ (car l1) (car l2)) 10)))) ;this is a problem

      (else (append (apa-add-help (cdr l1) (cdr l2))
                    (list (+ (car l1) (car l2)))))))

(apa-add-help (reverse l1) (reverse l2)))

(apa-add '(4 7 9) '(7 8 4))
>'(1 1 1 5 1 3)

Wiem, że problem jest związany z moją rekurencją, odwróciłem kolejność list, aby umożliwić łatwiejszy proces, jednak nie mogę zrozumieć, jak dodać moją wartość modulo (przenoszoną przez wartość) do następnego obiektu na liście . Jak mogę to zrobić?

questionAnswers(1)

yourAnswerToTheQuestion