pub fn copy_slice(mut dst: D, src: S) -> usize where S: AsRef<[T]>, D: AsMut<[T]>, T: Clone { let mut sz=0; for (d,s) in dst.as_mut().iter_mut().zip(src.as_ref().iter()) { *d = s.clone(); sz+=1; } sz }