                           ks-failed    (vec (reduce disj (set ks-to-freeze)
                                                     ks-succeeded))]
 
-                      (wcar {} (mapv (partial car/srem kcset) ks-succeeded))
+                      (wcar conn (mapv (partial car/srem kcset) ks-succeeded))
                       (when-not (empty? ks-failed) ; Don't rethrow!
                         (let [ex (ex-info "Failed to freeze some key(s)"
                                           {:failed-ks ks-failed})]


              (when-not (empty? ks-to-freeze)
                (timbre/trace "Freezing keys:" ks-to-freeze)
                (wcar {} (mapv (partial car/smove kdset kcset) ks-to-freeze))
                (let [dumps ; [<raw-data-or-nil> ...]
                      (wcar {} (car/parse-raw (mapv car/dump ks-to-freeze)))

                      keyed-data ; {<existing-redis-key> <frozen-data> ...}
                      (let [thawed-data

            (timbre/trace "Worker job running:" wopts)
            (let [kdset (tkey :dirty)
                  kcset (tkey :cleaning)
                  [ks-dirty ks-cleaning] (wcar conn (car/smembers kdset)
                                                    (car/smembers kcset))

                  ;; Grab ks from both dirty AND cleaning sets (the
                  ;; latter will be empty unless prev work-fn failed):
