(define reduce
(lambda (op base l)
(if (null? l) base
(op (car l) (reduce op base (cdr l))))))
(reduce + 0 '(2 3 4))
(reduce * 1 '(2 3 4))
(reduce cons '() '(2 3 4))