anchor.diff:                   :kana (get-kana word)
                    :seq (seq word)
                    :conjugations (when (typep word 'simple-text) (word-conjugations word))
  +                 :true-text (when (typep word 'simple-text) (true-text word))
                    :components (when (typep word 'compound-text)
                                  (loop with primary-id = (id (primary word)) 
                                     for wrd in (words word)
                                     collect (make-instance 'word-info 
                                                            :type (word-type wrd)
                                                            :text (get-text wrd)
  +                                                         :true-text (true-text wrd)
                                                            :kana (get-kana wrd)
                                                            :seq (seq wrd)
                                                            :conjugations (word-conjugations wrd)
  
positive.code:           when (> i 1) do (terpri s)
            do (format s "~a. ~a ~@[《~a》 ~]~a" i rpos rinf gloss))))
  
  (defun split-pos (pos-str)
    (split-sequence #\, pos-str :start 1 :end (1- (length pos-str))))
  
  (defun get-senses-json (seq &key pos-list)
    (loop for (pos gloss props) in (get-senses seq)
       for emptypos = (equal pos "[]")
       for rpos = pos then (if emptypos rpos pos)
       for lpos = (split-pos pos) then (if emptypos lpos (split-pos pos))
       for inf = (cdr (assoc "s_inf" props :test 'equal))
       for rinf = (when inf (format nil "《~{~a~^; ~}》" inf))
       when (or (not pos-list) (intersection lpos pos-list :test 'equal))
       collect (let ((js (jsown:new-js ("pos" rpos) ("gloss" gloss))))
                 (if rinf (jsown:extend-js js ("info" rinf)))
                 js)))
  
negative.code:           (t val))))
  
  (def-reader-for-json word-info-text "text")
  (def-reader-for-json word-info-true-text "truetext")
  (def-reader-for-json word-info-kana "kana")
  (def-reader-for-json word-info-seq "seq")
  (def-reader-for-json word-info-score "score")
  