(define (fold-left op base lst) (define (loop op so-far lst) (cond ((equal? lst '()) ; reached end of list, return so-far so-far) (else (loop op (op so-far (car lst)) (cdr lst) )))) (loop op base lst) )ARIA