`split_rest` for `Tuple`: slighly improve inference (#59588)
* Introduce function `_split_tuple` as the core of the implementation of
`split_rest` for `Tuple`.
* Improves inference for `split_rest` in some cases because
`_split_tuple` only accepts `i::Int`.
* Avoids a bit of code duplication in `split_rest`.
* Apply `_split_tuple` within the generic method making `Fix` callable,
where the same pattern is implemented inline.