anchor.diff:    (apply #'make-hash-table :synchronized t args))
   
   ;; Classes
  +;;; Job Class
  +(defclass job ()
  +  ((id :initarg :id
  +       :reader id
  +       :documentation "String identifier of the background job. Should match the key in the work table.")
  +   (stamps :initform (list (cons :new (get-internal-real-time)))
  +           :accessor stamps
  +           :documentation "A list of events and time-stamps in the format of (:event . time) in
  +reverse-chronological order. Possible events are: `:new' `:active' `:done' `:error'")
  +
  +   (thunk :initarg :thunk
  +          :accessor thunk
  +          :initform (lambda () :badjob)
  +          :documentation "Invoked when the job is scheduled to execute.")
  +
  +   (result :accessor result
  +           :documentation "The result of evaluating `thunk'.")
  +
  +   (finish :initarg :finish
  +           :reader finish
  +           :initform (lambda (result) (declare (ignore result)))
  +           :documentation "Invoked on successful run of `thunk'  with the return value in the original thread.")
  +   (fail :initarg :fail
  +         :reader fail
  +         :initform (lambda (condition) (declare (ignore condition)))
  +         :documentation "Invoked on a failed run of `thunk' with the condition signaled in the original thread.")))
  +
  +
   ;;; Pool Class
   (defclass pool (emitter)
     ((context :initform (zmq:init 0)
  
positive.code: 
      (bt:make-thread #'work-fn :name (format nil "pool-worker[~S]" id))))
  
  
  ;;; Job Class
  (defclass job ()
    ((id :initarg :id
         :reader id
         :documentation "String identifier of the background job. Should match the key in the work table.")
     (stamps :initform (list (cons :new (get-internal-real-time)))
             :accessor stamps
             :documentation "A list of events and time-stamps in the format of (:event . time) in
  reverse-chronological order. Possible events are: `:new' `:active' `:done' `:error'")
  
     (thunk :initarg :thunk
            :accessor thunk
            :initform (lambda () :badjob)
            :documentation "Invoked when the job is scheduled to execute.")
  
     (result :accessor result
             :documentation "The result of evaluating `thunk'.")
  
     (finish :initarg :finish
             :reader finish
             :initform (lambda (result) (declare (ignore result)))
             :documentation "Invoked on successful run of `thunk'  with the return value in the original thread.")
     (fail :initarg :fail
           :reader fail
           :initform (lambda (condition) (declare (ignore condition)))
           :documentation "Invoked on a failed run of `thunk' with the condition signaled in the original thread.")))
  
  (defgeneric perform (job)
    (:documentation "Perform the job and either store success or failure.
  
negative.code: ;;;; Generics
  (defgeneric make-worker (pool &optional id)
    (:documentation "Return a running thread ready to do work for the given pool."))
  
  (defgeneric submit (pool job)
    (:documentation "Submit a job for execution to the pool"))
  
  ;;;; Lifecycle methods
  (defmethod bind ((pool pool) sub-mask &optional host)
  