pub fn cycle_vec<T>(list: &mut Vec<T>, shift: i32) -> Option<()>where
    T: Clone,