anchor.diff:                    finally (return :null))))))
   
   
  -(defun best-kanji-conj (obj)
  -  (cond ((not (eql (best-kanji obj) :null)) (best-kanji obj))
  +(defun best-kanji-conj (obj &aux (wc (word-conjugations obj)))
  +  (cond ((and (or (not wc) (eql wc :root))
  +              (not (eql (best-kanji obj) :null)))
  +         (best-kanji obj))
           ((or (nokanji obj) (= (n-kanji (get-dao 'entry (seq obj))) 0))
            :null)
           (t (let* ((parents (query (:select 'kt.id 'conj.id
  
positive.code: 
  ;;;;
  
  (defun best-kana-conj (obj)
    (cond ((not (eql (best-kana obj) :null)) (best-kana obj))
          (t (let* ((parents (query (:select 'kt.id 'conj.id
                                             :from (:as 'kanji-text 'kt)
                                             (:as 'conj-source-reading 'csr)
  
negative.code:              (loop for (pid cid) in parents
                    for parent-kt = (get-dao 'kanji-text pid)
                    for parent-bk = (best-kana-conj parent-kt)
                    unless (or (eql parent-bk :null) (and wc (or (eql wc :root) (not (find cid wc)))))
                    do (let ((readings (query (:select 'text :from 'conj-source-reading
                                                       :where (:and (:= 'conj-id cid)
                                                                    (:= 'source-text parent-bk)))
  