anchor.diff:                              (remove nil (list
                                            (when ,e!success (list :finish ,e!success))
                                            (when ,e!failure (list :fail ,e!failure))))))))
  -       (setf (gethash ,g!job-id (work ,e!pool)) ,g!job)
  -       (format t "Sending job: ~S to pool ~S~%" ,g!job-id ,e!pool)
  -       (zmq:send! (work-sock ,e!pool) ,g!job-id)
  -       ,g!job-id)))
  +       (submit ,e!pool ,g!job))))
  
positive.code: ;;;; Generics
  (defgeneric make-worker (pool &optional id)
    (:documentation "Return a running thread ready to do work for the given pool."))
  
  ;;;; Lifecycle methods
  (defmethod bind ((pool pool) sub-mask &optional host)
  
negative.code:                   (let* ((job-id (babel:octets-to-string data))
                           (job (prog1 (gethash job-id (work pool))
                                  (remhash job-id (work pool)))))
  
                      (when (zerop (hash-table-count (work pool)))
                        (format t "Pausing the result gathering socket of ~S~%" pool)
                        (pause (result-sock pool)))
  
                      (if (not job)
                          (format t "WARNING: Receiver could not find job: ~S~%" job-id)
                          (progn
  