anchor.diff:  					(or (text-style-size s1)
   					    (text-style-size s2)))))
   	(with-slots (size) new-style
  -	  (case size
  +	  (case (text-style-size s1)
   	    (:smaller
   	     (setq size (find-smaller-size (text-style-size s2))))
   	    (:larger
  
positive.code: (defgeneric text-style-family (text-style))
  (defgeneric text-style-face (text-style))
  (defgeneric text-style-size (text-style))
  (defgeneric merge-text-style (text-style-1 text-style-2))
  (defgeneric text-style-ascent (text-style medium))
  (defgeneric text-style-descent (text-style medium))
  (defgeneric text-style-height (text-style medium))
  
negative.code: 
  ;;; Text-style utilities
  
  (defmethod merge-text-styles (s1 s2)
    (setq s1 (parse-text-style s1))
    (setq s2 (parse-text-style s2))
    (if (and (not (device-font-text-style-p s1))
  	   (not (device-font-text-style-p s2)))
        (let ((new-style (make-text-style (or (text-style-family s1)
  