anchor.diff:                                 ((eq (status sheep) 'content) .1))))
     (call-next-method))
   
  -(defmethod draw :around (object cr)
  +(defmethod draw :around (cr object)
     (when cr (call-next-method)))
   
  -(defmethod draw (actor cr)
  +(defmethod draw (cr actor)
     (cairo-set-source-rgb cr 0.8 0.4 0.2)
     (cairo-arc cr (x actor) (- +drawing-area-height+ (y actor)) 5 0 (* 2 pi))
     (cairo-fill cr)
  
positive.code: 
  (defgeneric add-actor (environment actor))
  (defgeneric update (object))
  (defgeneric draw (actor cr))
  (defgeneric draw-label (actor cr))
  (defgeneric herd (sheep))
  
  (defclass actor ()
    ((x
      :initarg :x
      :accessor x
      :initform (random +drawing-area-width+))
     (y
      :initarg :y
      :accessor y
      :initform (random +drawing-area-height+))
     (name
      :initarg :name
      :accessor name
  
negative.code:   (cairo-select-font-face cr "serif" 0 1)
    (cairo-set-font-size cr 10.0)
    (cairo-show-text cr text))
  
  (defun distance (one two)
    (sqrt (+ (expt (- (x one) (x two)) 2)
  