anchor.diff:                                :left first
                                 :right second))))))
   
  +(declaim (ftype (function (list) rope) rope-list-cat))
   (defun rope-list-cat (list)
     (cond
       ((null list)
  
positive.code:        (%rope (rope-array-cat array :start start :end midpoint)
                (rope-array-cat array :start midpoint :end end))))))
  
  (declaim (inline rope))
  (defun rope (&rest args)
    "Concatenate all ropes in ARGS.
  
  
negative.code:     (symbol (length (symbol-name rope)))
      (character 1)))
  
  (declaim (ftype (function (rope) non-negative-fixnum) rope-height))
  (defun rope-height (rope)
    (etypecase rope
      ((or string symbol character) 0)
  