(define make-maker (lambda (procedure) (lambda (y) (lambda (x) (procedure x y))))) (define make-multiplier (make-maker *)) (define double (make-multiplier 2)) (define triple (make-multiplier 3)) (define make-power (make-maker expt)) (define square (make-power 2)) (define cube (make-power 3)) (define make-averaged-procedure (lambda (procedure-1 procedure-2) (lambda (y) (/ (+ (procedure-1 y) (procedure-2 y)) 2)))) (define new-procedure (make-averaged-procedure double square))