anchor.diff:    (%remove-search-hints))
   
   (define-parenscript %next-search-hint ()
  -  (when (> match-count current-search)
  +  (when (> index current-search)
       (setf current-search (+ current-search 1)))
     (let ((element (ps:chain document (get-element-by-id current-search))))
       (ps:chain element (scroll-into-view t))))
  
positive.code:       (setf (ps:@ el style font-weight) "bold")
        (setf (ps:@ el style text-align) "center")
        (setf (ps:@ el text-content) index)
        (setf (ps:@ el id) index)
        el)))
  
  (define-parenscript %add-search-hints (search-string)
    (let* ((regex-string (ps:lisp (concatenate 'string search-string "[A-Za-z]*")))
           (regex-flags "gi")
           (matcher (ps:new (-reg-exp regex-string regex-flags)))
           (body (ps:chain document body inner-h-t-m-l))
           (last-match t)
           (matches (loop while (setf last-match (ps:chain matcher (exec body)))
                          collect (ps:chain last-match index))))
      (setf match-count (length matches))
      (setf matches (ps:chain matches (reverse)))
      (loop for i from 0 to (- match-count 1)
            do (setf body (insert body (ps:elt matches i)
                                  (ps:chain (create-search-span (- match-count i)) outer-h-t-m-l))))
      (setf (ps:chain document body inner-h-t-m-l) body))
    nil)
  
  (define-command add-search-hints ()
  
negative.code: 
  (define-parenscript initialize-search-buffer ()
    (ps:defvar current-search 0)
    (ps:defvar index 0)
    (defun insert (str index value)
      (+ (ps:chain str (substr 0 index)) value (ps:chain str (substr index)))))
  
  ;; TODO: Draw a box over the word instead?
  (define-parenscript %add-search-hints (search-string)
    (defun create-search-span ()
      (setf index (+ 1 index))
      (ps:let* ((el (ps:chain document (create-element "span"))))
        (setf (ps:@ el class-name) "next-search-hint")
        (setf (ps:@ el style background) "rgba(255, 255, 255, 0.75)")
  