     (< (count (tablet/read-all pending)) half-full)
       (if-let [prev (peek result)]
         ; Load last result link and redistribute into two valid partitions.
-        (->> pending
-             (tablet/join (tablet/from-records (read-all store prev nil)))
-             (tablet/read-all)
+        (->> (tablet/read-all pending)
+             (concat (read-all store prev nil))
              (partition-records store params)
              (into (pop result)))
         ; No siblings, so return virtual tablet for carrying.


;; ## Update Functions

(defn- apply-patch
  "Performs an update on the tablet by applying the patch changes. Returns an
  updated tablet, or nil if the result was empty."

                ; Original partition data was unchanged by updates.
                (= tablet tablet')
                  ; Original linked partition remains unchanged by update.
                  (let [[parts pending] (check-partition store params limit half-full part)]
                    (recur (into result parts) pending (next inputs)))

                ; Accumulated enough records to output full partitions.
                (<= (+ limit half-full) (count (tablet/read-all tablet')))
                  (let [[parts pending] (emit-parts store params emit-threshold emit-size tablet')]
                    (recur (into result parts) pending (next inputs)))

                ; Not enough data to output a partition yet, keep pending.
                :else
