optimise calls to slice()