anchor.diff:                        (+ (y actor) (* lead-length (sin (heading actor)))))))
     (cairo-stroke cr))
   
  -(defmethod draw-label (actor cr)
  +(defmethod draw-label (cr actor)
     (draw-text cr (x actor) (y actor)
                (format nil "~a" actor)))
   
  -(defmethod draw-label ((mover sheep) cr)
  +(defmethod draw-label (cr (mover sheep))
     (draw-text cr (x mover) (y mover)
                (format nil "~a: ~a" (name mover) (status mover))))
   
  
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-set-source-rgb cr 0.1 0.7 0.0)
                               (cairo-paint cr)
                               (dolist (actor (actors environment))
                                 (draw cr actor))
                               (cairo-destroy cr)
                               t)))
         (gtk-container-add window box)
  