anchor.diff:    (add-part :@css "/static/css/target.css")
     (add-part :@javascript #'distribute-ranks)
     (add-part :@javascript #'titlebar-components)
  +  (add-part :@javascript "/static/javascript/jsPlumb-2.0.5.js")
  +  (add-part :@javascript
  +            (lambda ()
  +              (ps (chain js-plumb (ready (lambda ()))))))
     (add-part
      :@javascript
      (lambda ()
  
positive.code:        (def-component mini-opinion
             (psx
              (:div
               :class (strcat "opinion " (flavor (prop opinions)))
               :on-click (@ this handle-click)
               :style (create position :absolute
  
negative.code:                (let ((common-data
                         (create :opinions
                                 (remove-if-not
                                  (lambda (itm)
                                    (%overlap-p
                                     start (1- end)
                                     (@ itm 0 'text-position 0)
                                     (+ (@ itm 0 'text-position 0)
                                        (@ itm 0 'text-position 1) (- 1))))
                                  opins)
                                 :key (unique-id)
                                 :id (strcat "lvl-"
                                             (chain props
                                                    tree-address length (to-string))
                                             "-pos-"
                                             (chain end (to-string)))
                                 :text (chain text (slice start end))
                                 :focusfunc (@ props focusfunc)
                                 tree-address (@ props tree-address))))
                   (cond ((< (@ common-data :opinions length) 1)
                          (collect
  