+ /* ***IMPORTANT*** prepReclaimSegment() must be called after
+ * confirming that head() is up-to-date and before calling
+ * setHead() to be thread-safe. */
+ /* ***IMPORTANT*** Segment s cannot be retired before the call to
+ * setHead(s). This is why prep_retire_refcounted(), which is
+ * called by prepReclaimSegment() does not retire objects, it
+ * merely adds the object to the batch and returns a private batch
+ * structure of a list of objects that can be retired later, if
+ * there are enough objects for amortizing the cost of updating
+ * the domain structure. */
+ auto res = prepReclaimSegment(s);