anchor.diff:  
   (defgeneric generate-string (markov &optional word1 word2))
   (defmethod generate-string ((markov markov) &optional (word1 "!NONWORD!") (word2 "!NONWORD!"))
  -  (let* ((output (if (eq word1 "!NONWORD!") "" (format NIL "~a ~a" word1 word2))))
  +  (let* ((output (if (string= word1 "!NONWORD!") "" (format NIL "~a ~a" word1 word2))))
       (unless (string= word1 "!NONWORD!")
         (let ((wordlist (remove "!NONWORD!" (gethash output (registry markov)) :test #'string=)))
           (when wordlist
  
positive.code:      (setf (probability markov) (parse-integer (first args) :junk-allowed T))
       (respond event "Probability set to ~a" (probability markov)))
      ((string-equal action "say")
       (let ((message (generate-string markov (first args) (second args))))
         (if message
             (respond event message)
             (respond event (fstd-message event :markov-nothing)))))
  
negative.code: 
  (define-handler on-message markov (privmsg-event event)
    (when (char= (aref (channel event) 0) #\#)
      (unless (char= (aref (message event) 0) #\!)
        (learn markov (message event)))
  
      (when (< (random 100) (probability markov))
        (let ((wordlist (split-sequence:split-sequence #\Space (message event) :remove-empty-subseqs T)))
  