I think that if this were to be in core, it'd look more like -> (&mut [T], &mut T, &mut [T])
.
People can always chain the before-and-after later if they want, but recovering the slices from a Chain
is not possible today.
If you'd like to turn this into an official proposal to libs-api, see Feature lifecycle - Standard library developers Guide.