anchor.diff:  ;;; When seeing the development of the town, we need to repeat things a lot.
   (defmacro with-town-iterator ((var town &key (times 20) (tick-time :before) copyp) &body body)
     "Creates a loop that evolves a town, allowing the user to do something for each generation of the town. Can be made nondestructive by passing non-nil to copyp."
  -  `(let ((,var ,(if copyp `(copy-town ,town) town)))
  +  `(let ((,var ,(if copyp `(copy ,town) town)))
        (assert (typep ,var 'town-snapshot))
        (assert (typep ,tick-time '(member :before :after)))
        (loop repeat ,times
  
positive.code:                :documentation "How many other other inhabitants that each inhabitant can see."))
    (:documentation "A town with a spatial delay. Inhabitants are only able to see their popularities with reference to a subset of the population."))
  
  ;; Structs are easy but they still need a bit of tweaking.
  (defmethod hipsterish-tendency ((object inhabitant)) (inhabitant-hipsterish-tendency object))
  (defmethod (setf hipsterish-tendency) (value (object inhabitant) ) (setf (inhabitant-hipsterish-tendency object) value))
  (defmethod styles ((object inhabitant)) (inhabitant-style object))
  (defmethod (setf styles) (value (object inhabitant)) (setf (inhabitant-style object) value))
  
  ;;; Class constructors
  
  (defun generate-random-town (population styles volatile)
    "Generates a random town of n people with the given vector of styles."
    (let ((out (make-array (list population) :adjustable volatile)))
      (dotimes (i population)
        (setf (aref out i) (make-inhabitant :style (aref styles (random (length styles))))))
      out))
                 
  (defun make-town (population &key (hipsterish-tendency 2/3) (styles #(#\# #\.)) volatile)
  
negative.code: 
  ;;; Classes
  
  (defclass inhabitant ()
    ((type :initform :hipster
           :initarg :inhabitant-type
           :accessor inhabitant-type
           :documentation "A type of inhabitant. Currently only :hipster is supported.")
     (style :initform #\.
            :initarg :style
            :accessor styles
            :documentation "What clothes the inhabitant is wearing. Must be a character.")
     (hipsterish-tendency :initform 2/3
                          :initarg :hipsterish-tendency
                          :accessor hipsterish-tendency
                          :documentation "How likely would this individual be nonconformist at any given time."))
    (:documentation "An inhabitant in a hipster town."))
            
  
  (defclass town-snapshot ()
    ((ticks :initform 0
  