pub fn min<T>(v: Vec<T>) -> Twhere
    T: PartialOrd + Copy + Clone,