anchor.diff:      string))
   
   (defun rope-subrope (rope start end)
  +  (declare (type fixnum start end))
     (labels ((helper-string (rope start end)
                (make-array (- end start)
                            :element-type (array-element-type rope)
  
positive.code: 
  ;;; Iteration ;;;
  (defstruct rope-iterator
    (i 0)
    (stack nil))
  
  (defun rope-iterator-push (itr rope)
    (declare (type rope rope))
  
negative.code: (defun rope-iterator-next (itr)
    (let ((top (car (rope-iterator-stack itr)))
          (i (rope-iterator-i itr)))
      (declare (type (or null string) top))
      (cond
        ((null top) nil)
        ((= i (length top))
  