pub fn visit_vec<T, F>(elems: &mut Vec<T>, visit_elem: F)where
    F: FnMut(&mut T),