3 (define (add x y) (apply-generic 'add x y))
4 (define (sub x y) (apply-generic 'sub x y))
5 (define (mul x y) (apply-generic 'mul x y))
6 (define (div x y) (apply0generic 'div x y))
8 ;; install package for ordinary numbers
9 (define (install-scheme-number-package)
11 (attach-tag 'scheme-number x))
12 (put 'add '(scheme-number scheme-number)
13 (lambda (x y) (tag (+ x y))))