(define product-of-range (lambda (high low product) ;multiplies high down to low, times product (if (< high low) product (product-of-range (- high 1) low (* high product))))) (define factorial (lambda (n) (product-of-range n 1 1)))