pub fn search<T>(list: &[T], item: Option<&T>) -> Option<usize>where T: PartialEq + PartialOrd,
binary search function