anchor.diff:                   ((not (intact-p tank)) t)
                  (add-water tank (get-flow-rate self))
                  (sleep 0.10)))))
  -    (port:make-process
  -     (concatenate 'string "Pump Process " (get-name self))
  -     #'add-water-to-tank)))
  +    (with-new-process ((concatenate 'string "Pump:" (get-name self)))
  +      (add-water-to-tank))))
   
   (defun make-pump (name tank)
     (make-instance 'pump :name name :tank tank))
  
positive.code:   (?idle (idle (count ?count)))
    =>
    (retract ?idle)
    (sleep 0.025)
    (assert (idle (count (1+ ?count)))))
  
  (defrule report-fire ()
  
negative.code:            (do ()
                 ((not (intact-p self)))
               (add-water self -1)
               (sleep 0.250))
             (cond ((>= (get-level self) 1000)
                    (format t "Tank ~S exploded!~%" (get-name self)))
                   ((<= (get-level self) 0)
                    (format t "Tank ~S ran dry and caught fire!~%"
                            (get-name self))))))
      (with-new-process ((concatenate 'string "Tank:" (get-name self)))
        (adjust-tank-level))))
  
  (defun make-tank (name)
    (make-instance 'tank :name name))
  