Example

Consider the following procedures:
     (define double
       (lambda (x) (* x 2)))

     (define triple
       (lambda (x) (* x 3)))

     (define quadruple
       (lambda (x) (* x 4)))
These differ only in the amount they multiply by:
       (lambda (x) (* x scaling-factor))