anchor.diff:  (defun general-script (tree)
     (remove-if (lambda (itm) (or (text-comments-tree-p itm) (title-comments-tree-p itm))) tree))
   
  -
  +(defun participants (tree)
  +  (let ((curr (flatten tree)))
  +    (alexandria:hash-table-keys
  +    (hu:collecting-hash-table (:test #'equal :mode :keep)
  +      (loop
  +        do (setf curr (nth-value 1 (part-after-true (lambda (x) (eq x :author)) curr)))
  +        while curr
  +        do (hu:collect (car curr) t))))))
  +
  +(defun scsc-for-tree-address (treead root-scsc)
  +  (proto:maptree
  +   (lambda (branch)
  +     (unless treead
  +       (error "Empty tree address"))
  +     (when (listp branch)
  +       (let ((iid (fetch-keyword :iid branch :in-list nil)))
  +        (cond
  +          ((equal iid (car treead))
  +           (if (length1 treead)
  +               (return-from scsc-for-tree-address branch)
  +               (progn
  +                 (setf treead (cdr treead))
  +                 (remove-if-not #'listp branch))))
  +          ((null iid)
  +           (remove-if-not #'listp branch))
  +          (t ;;iid found but not matching
  +           nil)))))
  +   root-scsc)
  +  nil)
  +
  +
  +(in-package :score-script)
  +
  +
  +
  
positive.code:              (error "Unknown symbol in score script"))))))
  
  
  (in-package :score-script)
  
  
  (defun text-comments-tree-p (tree)
    (when (member (car tree) '(target-text suggest-target-text))
      (return-from text-comments-tree-p t))
    (some (lambda (itm)
            (and (listp itm)
                 (member (car itm) '(target-text suggest-target-text))
                 (equal (gadgets:fetch-keyword :iid itm :in-list nil)
                        (gadgets:fetch-keyword :iid tree :in-list nil))))
          tree))
  
  (defun title-comments-tree-p (tree)
    (when (member (car tree) '(target-title suggest-target-title))
      (return-from title-comments-tree-p t))
    (some (lambda (itm)
            (and (listp itm)
                 (member (car itm) '(target-title suggest-target-title))
                 (equal (gadgets:fetch-keyword :iid itm :in-list nil)
                        (gadgets:fetch-keyword :iid tree :in-list nil))))
          tree))
  
negative.code: (defparameter *safe-keywords* '(:iid :author))
  
  (defpackage #:score-script
    (:use #:cl #:gadgets #:alexandria)
    (:nicknames #:scsc)
    (:export
     #:target-text
     #:suggest-target-text
     #:target-title
     #:suggest-target-title))
  
  (defun scsc-safety-symbols (code &optional (package (find-package :score-script)))
    (proto:tree-search-replace
     code
     :predicate #'symbolp
     :valuefunc
     (lambda (sym)
       (if (keywordp sym)
  