anchor.diff:  	    #'(lambda (term term-list)
   		(tag (adjoin-term-sparse term term-list))))
       (my-put 'first-term '(sparse) #'first-term)
  -    (my-put 'rest-terms '(sparse) #'rest-terms)
  -    (my-put 'the-empty-termlist 'sparse #'the-empty-termlist)
  +    (my-put 'rest-terms '(sparse) #'(lambda (termlist) (tag (rest-terms termlist))))
  +    (my-put 'the-empty-termlist 'sparse #'(lambda () (tag (the-empty-termlist))))
       (my-put 'empty-termlist? '(sparse) #'empty-termlist?)
       (my-put 'add-terms '(sparse sparse) #'(lambda (l1 l2) (tag (add-terms l1 l2))))
       (my-put 'mul-terms '(sparse sparse) #'(lambda (l1 l2) (tag (mul-terms l1 l2))))
  
positive.code: ;;;;2.89
  (defun adjoin-term-dense (term term-list)
    (cond ((=zero? (coeff term)) term-list)
  	((equ? (order term) (length term-list)) 
  	 (cons (coeff term) term-list))
  	(t (adjoin-term-dense term (cons 0 term-list)))))
  
  
negative.code: 
  (defun the-dense-empty-termlist ()
    (funcall (my-get 'the-empty-termlist 'dense)))
  
  (defun empty-termlist? (termlist) (apply-generic 'empty-termlist? termlist))
  
  (defun first-term (term-list) (apply-generic 'first-term term-list))
  
  