anchor.diff:  (defmodule werewolf werewolf-module ("ww")
     (state :accessor state-of :initform 'unstarted) ; unstarted, starting, night, or day
     (channel :accessor channel-of :initform nil) ; channel where the game has started
  -  (players :accessor players-of :initform nil) ; list of ww-player
  -  (timer-of :accessor timer-of :initform nil)) ; timer used for next state
  +  (players :accessor players-of :initform nil) ; list of players
  +  (min-players :accessor min-players-of :initform 5)
  +  (max-players :accessor max-players-of :initform 20))
   
   (defclass ww-player ()
     ((nick :accessor nick-of :initarg :nick :initform nil)
      (werewolf? :accessor werewolf? :initarg :werewolf? :initform nil)
      (alive? :accessor alive? :initarg :alive? :initform nil)
      (vote :accessor vote-of :initarg :vote :initform nil)))
  +
  +(defmethod initialize-module ((module werewolf-module) config)
  +  (let ((module-conf (second (assoc 'werewolf config))))
  +    (setf (channel-of module) (getf module-conf :channel "#werewolf"))
  +    (setf (min-players-of module) (getf module-conf :min-players 5))
  +    (setf (max-players-of module) (getf module-conf :max-players 20))))
   
   (defmethod print-object ((object ww-player)
                            stream)
  
positive.code: 
        (t
         (ww-inform module player
                    "The quick: ~{~a~^,n ~} / The dead: ~:[Nobody yet~;~:*~{~a~^, ~}~]"
                    (mapcar 'nick-of living)
                    (mapcar 'nick-of dead))))))
  
  (defun begin-werewolf-game (module)
    (assert (eql (state-of module) 'starting))
    (setf (state-of module) 'night)
    ;; Pick werewolves
    (loop repeat (max 1 (floor (sqrt (length (players-of module))) 2)) do
  
negative.code:   ;; Let everyone know their role
    (dolist (player (players-of module))
      (if (werewolf? player)
          (ww-inform module player "You are a werewolf.  You vote at night with other werewolves to murder villagers.   Be sure to /MSG ~a .ww vote <nick> to keep your identity private."
                     (nickname (user (conn-of module))))
          (ww-inform module player "You are a villager."))
      (list-werewolf-players module (nick-of player)))
    (ww-msg-players module "Nighttime has fallen...  The werewolves choose a victim in secret." ))
  
  (defun add-werewolf-player (module nick)
    (assert (eql (state-of module) 'unstarted))
    (push (make-instance 'ww-player
                         :nick nick
                         :werewolf? nil
                         :alive? t)
          (players-of module)))
  
  (defun remove-werewolf-player (module player)
    (setf (players-of module) (delete player (players-of module)))
    (cond
      ((not (eql (state-of module) 'unstarted))
       (ww-msg-players module "~a dies of a freak heart attack." (nick-of player))
       (setf (alive? player) nil))
      ((< (length (players-of module)) (min-players-of module))
       (ww-msg-players module "~a has left the werewolf game. (~a player~:p to go now)"
                       (nick-of player)
                       (- +minimum-werewolf-players+ (length (players-of module)))))
      (t
       (ww-msg-players module "~a has left the werewolf game. Use .ww start to begin playing."
                       (nick-of player)))))
  
  (defun tally-werewolf-vote (module player target)
    (cond
  