     [this]
     (when-not (satisfies? store/BlockStore primary)
       (throw (IllegalStateException.
-               (str "Buffer block store cannot start without a primary block store: "
+               (str "Cannot start buffer block store without a backing primary store: "
                     (pr-str primary)))))
     (when-not (satisfies? store/BlockStore buffer)
       (throw (IllegalStateException.
-               (str "Buffer block store cannot start without a buffer block store: "
+               (str "Cannot start buffer block store without a backing buffer store: "
                     (pr-str buffer)))))
     this)
 



(defn flush!
  "Flushes the store, writing all buffered blocks to the backing store. Returns
  a summary of the flushed blocks."
  [store]
  (->>
    (block/list (:buffer store))



(defn clear!
  "Remove all blocks from the buffer. Returns a deferred which yields a summary
  of the deleted blocks."
  [store]
  (d/chain
    (s/reduce
