Why does Vec of slices and Vec of owned values require different lifetime parameters? Consider the following function, recursively printing elements of a Vec: