This proposes to add a `retain` method to slice, that does the same thing as `Vec::retain`. This tracking issue, and it's ascociated PR(#71832) are heavily influenced by the discussion in #54279