anchor.diff:  
   
   (defclass simulator (actor)
  -  ((components
  -    :initarg :components
  -    :initform (list)
  -    :accessor components-of
  -    :type list)))
  +  ;; components slots in subclasses
  +  nil)
   
   
   (defclass port (with-id)
  
positive.code: 		       'event
  		       ;; building arguments for make-instance:
  		       ;; if args is nil, leave slot unbound
  		       (append (list :id (fresh-id)
  				     :time (+ delay
  					      (gettime))
  				     :fn fn)
  			       (if (null args)
  				   nil
  				   (list :args args))))))
  	(setf (events-of act)
  	      (sort (cons ev
  			  (events-of act))
  		    #'< :key #'time-of))
  	(values act ev))))
  
  
  (defmethod evolve ((obj object))
    obj)
  
  
  (defmethod evolve ((act actor))
    (let ((ev (imminent-event act)))
      (if ev
  	(apply (fn-of ev)
  	       (append (list act)
  		       (if (slot-boundp ev 'args)
  			   (args-of ev))))
  	(call-next-method))))
  
  
  (defmethod evolve ((sim simulator))
    (evolve (cdr (the (cons event actor)
  		 (first
  		  (sort
  		   (remove-if #'null
  			      (mapcar (lambda (comp)
  					(cons (imminent-event comp)
  					      comp))
  				      (components-list sim)))
  		   #'< :key (lambda (cell)
  			      (time-of (car cell)))))))))
  
negative.code: 
  
  (defclass event (with-id)
    ((owner-path
      :initarg :owner-path
      :initform (error ":owner-path missing")
      :accessor owner-path-of
      :type list)
     (time
      :initarg :time
      :initform (error ":time missing")
      :accessor time-of
  