anchor.diff:  		    (if (eql (aref name i) #\-)
   			(setf upper t)
   			(progn
  -			  (setf (aref new-name j)
  -				(if (or upper all-upper)
  -				    (char-upcase (aref name i))
  -				    (char-downcase (aref name i))))
  -			  (incf j)
  -			  (setf upper nil))))))))))
  +			  (if (and upper (eql (aref name i) #\>))
  +			      (progn(setf (aref new-name j) #\-)
  +				    (incf j)
  +				    (setf (aref new-name j) #\>)
  +				    (incf j))
  +			      (progn
  +				(setf (aref new-name j)
  +				      (if (or upper all-upper)
  +					  (char-upcase (aref name i))
  +					  (char-downcase (aref name i))))
  +				(incf j)))
  +			      (setf upper nil))))))))))
   
   (defprinter (symbol x)
     ;; TODO: use aif
  
positive.code: 				(>= ">=" :none 2))
  			       ((/= "!=" :none 2)
  				(= "==" :none 2))
  			       ((ref "&" :left 1))
  			       ((logand "&" :left 2))
  			       ((logxor "^" :left 2))
  			       ((logior "|" :left 2))
  
negative.code: 	(:INIT
  	 (if (eql (aref name i) #\*)
  	     (setf all-upper t)
  	     (if (eql (aref name i) #\-)
  		 (setf upper t)
  		 (progn (setf (aref new-name j) (char-downcase (aref name i)))
  			(incf j))))
  