Recognizing Commonality

To see the commonality, these procedures could have been written as:
     (define stack-copies-of
       (lambda (quantity thing)
         (if (= quantity 1)
             thing
             (stack (stack-copies-of (- quantity 1) thing)
                    thing))))
     
     (define power
       (lambda (quantity thing)
         (if (= quantity 1)
             thing
             (* (power (- quantity 1) thing)
                thing))))
Now they are truly identical except for their names and the procedures they call.