SliceGuarantor: take a generic Box as input, instead of a Block