問題3.2

(define (make-monitored func)
  (let ((acc 0))
    (lambda args
      (if (eq? (car args) 'how-many-calls?)
          acc
          (begin
            (set! acc (+ acc 1))
            (apply func args))))))