anchor.diff:                                               :src-map src-map
                                                ))))
   
  -(defun get-original-text (conj-datas texts)
  +(defun get-original-text* (conj-datas texts)
     (unless (listp texts)
       (setf texts (list texts)))
     (unless (listp conj-datas)
  
positive.code:    (source :reader source :initarg :source)))
  
  (defgeneric true-text (obj)
    (:documentation "Returns original text for reading")
    (:method (obj) (text obj))
    (:method ((obj proxy-text)) (true-text (source obj))))
  
  
negative.code:        (let ((src-text (loop for (txt src-txt) in (conj-data-src-map conj-data)
                            if (find txt texts :test 'equal) collect src-txt)))
           (if (not (conj-data-via conj-data))
               (mapcar (lambda (txt) (list txt (conj-data-from conj-data))) src-text)
               (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)
    (:documentation "Returns unconjugated text(s) for reading")
    (:method ((reading simple-text))
      (let ((orig-texts (get-original-text* (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))))))
    (:method ((reading proxy-text))
      (get-original-text (source reading))))
  
  ;;;;
  
  