anchor.diff:                (and (not root-p) (skip-by-conj-data conj-data)))
         (return-from calc-score 0))
       (when (and conj-data (not (and (= ord 0) common-p)))
  -      (let ((conj-of-data (loop for ot in (get-original-text reading) collect (list (common ot) (ord ot)))))
  +      (let ((conj-of-data (loop for ot in (get-original-text reading :conj-data conj-data)
  +                             collect (list (common ot) (ord ot)))))
           (when conj-of-data
             (unless common-p
               (let ((conj-of-common (mapcan (lambda (row) (unless (eql (car row) :null) (list (car row)))) conj-of-data)))
  
positive.code: 
  (defstruct conj-data seq from via prop src-map)
  
  (defun get-conj-data (seq &optional from/conj-ids texts)
    "from/conj-ids can be either from which word to find conjugations or a list of conj-ids
     texts is a string or list of strings, if supplied, only the conjs that have src-map with this text will be collected
  "
    (unless (listp texts)
      (setf texts (list texts)))
    (loop for conj in (cond
  
negative.code:              (let ((new-cd (get-conj-data (conj-data-via conj-data) (conj-data-from conj-data))))
                       (get-original-text* new-cd src-text))))))
  
  (defgeneric get-original-text (reading &key conj-data)
    (:documentation "Returns unconjugated text(s) for reading")
    (:method ((reading simple-text) &key conj-data)
      (let ((orig-texts (get-original-text* (or conj-data (word-conj-data reading)) (text reading)))
            (table (case (word-type reading) (:kanji 'kanji-text) (:kana 'kana-text))))
        (loop for (txt seq) in orig-texts
             nconc (select-dao table (:and (:= 'seq seq) (:= 'text txt)))))))
  