anchor.diff:               (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)
  +(defgeneric get-original-text (reading &key conj-data)
     (:documentation "Returns unconjugated text(s) for reading")
  -  (:method ((reading simple-text))
  -    (let ((orig-texts (get-original-text* (word-conj-data reading) (text 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)))))))
  
positive.code: (defmethod word-type ((obj proxy-text))
    (word-type (source obj)))
  
  (defmethod get-original-text ((reading proxy-text))
    (get-original-text (source reading)))
  
  (defun find-word-as-hiragana (str &key exclude finder)
    (let* ((as-hiragana (as-hiragana str))
  
negative.code:               (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 :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)))
  