anchor.diff:  		    (apply #'apply-generic (cons op new-args)))
   		  (error "not these type methods--apply-generic ~A" (list op type-tags new-type-tags)))))))))
   		  
  +;;;;2.86
  +
  +;;更改complex的算术运算函数，将里面的 +-*/换成add,sub,mul,div
  +;;在scheme-number和rational中加入对应的sine cosine函数。
  +;;这里就不写了，直接改在上面吧。
  +
  +;;;;2.87
  +
  
positive.code:     (let ((proc (my-get op type-tags)))
        (if proc
  	  (let ((res (apply proc (mapcar #'contents args))))
  	    (if (or (eq op 'raise) (eq op 'project)) 
  		(drop res)
  		res))
  
  
negative.code: (defun update-type-tower (new-tower)
    (setf *type-tower* new-tower))
  
  (defun add-type-to-tower (type before-type after-type
  			  before->type
  			  type->after
  			  after->type
  			  type->before)
    (labels ((insert (lst)
  	     (cond ((null lst) (error "can't find the position -- add-type-to-tower -insert ~A" (list before-type after-type)))
  		   ((and (eq before-type (car lst))
  