-# We constantly maintain records of this item (c) and the last two
-# (b and a).
-#
-# We then check to see if any of the specified minimum/extent pairs
-# mean we should keep c and b.
-#
-# We can delete c if b is older than every specified extent. b will
-# then be the latest version we keep and is old enough. (Note that if
-# the density isn't satisfied, the expected number of old items may
-# not be satisfied either; in the worst case, if b is very old, we
-# might end up with just two items left.)
-#
-# If we delete c then we just go on to the next c, which will
-# definitely be older, so will be deleted too (because b remains
-# unchanged): ie we then delete all the rest.
-#
-# If we don't delete c, we look at the gap between a and c. If this
-# gap is not too long (according to any of the minimum/extent pairs)
-# then it is OK to delete b. (A gap is too long if it's longer than a
-# relevant pair's minimum, but a pair isn't relevant if c is older
-# than the extent.) If we delete b then current c becomes the new b.
+# and each time we're more than min older than the last item we kept,
+# we mark the item to keep, until we have as many as we want.