fn join_generic_copy<B, T, S>(slice: &[S], sep: &[T]) -> Vec<T>where T: Copy, B: AsRef<[T]> + ?Sized, S: Borrow<B>,