pub(crate) fn with_scratch<T>( source: Vec<T>, scratch: Vec<T>, disposition: ScratchDisposition, use_entries: impl FnOnce(&mut Vec<T>), ) -> (Vec<T>, Vec<T>)where T: Copy,