Recursively performs a binary search for a specified item within a sorted array. This function can handle both ascending and descending ordered arrays. It takes a reference to the item to search for and a slice of the array. If the item is found, it returns the index of the item within the array. If the item is not found, it returns `None`. # Parameters - `item`: A reference to the item to sear
(item: &T, arr: &[T], left: usize, right: usize)