anchor.diff:       1004620 ;; こにちは
        1008450 ;; では
        2215430 ;; には
  +     2028950 ;; とは
        )
       (l)
       (:mod (- l 1)))
  
positive.code:   (:mod (1+ niha))
    (:space (+ 2 niha)))
  
  ;; starts with には
  
  (def-simple-hint
      (2181860 ;; にはおよばない
       )
      (l k)
    (:mod 1)
    (:space 2))
  
  ;; は in the middle
  
  (def-simple-hint
      (2101500 ;; 無い袖は振れぬ
       2142010 ;; 口では大阪の城も建つ
  
negative.code: (defmacro defhint (seqs (reading-var) &body body)
    (unless (listp seqs)
      (setf seqs (list seqs)))
    (alexandria:with-gensyms (fn)
      `(let ((,fn (lambda (,reading-var) ,@body)))
         ,@(loop for seq in seqs
              collect `(setf (gethash ,seq *hint-map*) ,fn)))))
  
  (defmacro def-simple-hint (seqs (&optional length-var kana-var reading-var) &body hints-def)
    (unless reading-var (setf reading-var (gensym "RV")))
  