anchor.diff:                           :destination (rallying-point factory))
             (current-cost factory)
             (cost (first (queue factory)))))
  -                         
  +
     (when (>= (progress factory)
               (current-cost factory))
       (setf (current-cost factory)
  
positive.code:     (make-instance (first (queue factory))
                     :owner (owner factory)
                     :group (group factory)
                     :pos (pos factory))))
negative.code:   ;at present, damage is dealt when the shockwave has reached half its maximum radius.
    (when (and (> (* 2 (radius explosion))
                  (damage-radius explosion))
               (not (damage-dealt-p explosion)))
        (deal-damage explosion))
    (when (> (radius explosion) (damage-radius explosion))
        (invalidate  explosion)))
  
  (defmethod tick ((explosion explosion))
    (setf (radius explosion)
            (+ (radius explosion) *speed-of-sound*)
  