functor (T : Indexable1) -> sig val binary_search : ('a T.t, 'a) binary_search val binary_search_segmented : ('a T.t, 'a) binary_search_segmented end