anchor.diff:      (declare ((simple-array character (*)) word))
       ;; Words of length 1 yield only one trigram.
       (if (= 1 (length token))
  -        (funcall fn word)
  +        (funcall fn word 0 (length word))
           (let ((len (length word)))
             (declare (array-length len))
             (loop for i of-type array-length from 0 below len do
  
positive.code: (assert
   (set-equal
    (let ((ngrams '()))
      (map-ngrams (lambda (ngram) (push ngram ngrams))
                  "corpus")
      ngrams)
    (split-sequence #\Space "_c _co _cor _corp o or orp orpu r rp rpu rpus_ p pu pus_ u us_ s_")
  
negative.code:   (prog1 lm
      (dolist (token (tokens input))
        (map-ngrams
         (lambda (word start end)
           (let ((ngram (subseq word start end)))
             (incf (gethash ngram lm 0))))
         token))))
  
  (defun map-ngrams (fn token)
  