         (recur)))))
 
 (defn completion-ch-loop
-  [sync sync-ch complete-tail offer-head complete-head]
+  [sync sync-ch complete-tail offer-head complete-head dead-ch]
   (loop []
     (when-let [node (:path (<!! complete-tail))]
       (when-let [result (complete-task sync sync-ch node #(>!! complete-head %))]
         (>!! offer-head result))
       (recur))))
 
-(defn shutdown-ch-loop [sync shutdown-tail]
+(defn shutdown-ch-loop [sync shutdown-tail dead-ch]
   (loop []
     (when-let [peer (<!! shutdown-tail)]
       (shutdown-peer sync peer)

        (>!! seal-head result))
      (recur))))

(defn seal-resource-loop [sync seal-tail exhaust-head]
  (loop []
    (when (<!! seal-tail)
      (let [offset (extensions/next-offset sync :seal-log)]

        (extensions/checkpoint sync :offer-log offset)
        (recur)))))

(defn offer-revoke-ch-loop [sync sync-ch offer-revoke-tail evict-head dead-ch]
  (loop []
    (when (<!! offer-revoke-tail)
      (let [offset (extensions/next-offset sync :revoke-log)]
