When one calls Slice on a Slice result, one gets a recursive structure,
which means that accessing and assigning entries are delegated until one eventually arrives at a non-slice.
Would it make sense to change Slice in the case that the first argument is a slice
in such a way that the underlying non-slice gets stored directly?