Cf_bsearch.CreateUse Create(B) to make a module that provides binary searches using the index type defined with the basis B.
Use find r f a b to search for the cursor c between a and b inclusive, for which applying the ordering function f returns zero. If the cursor is found in the search, then r.some is applied to it. Otherwise, r.none () is applied.
Use search f a b to find Some c between a and b inclusive for which applying the ordering function f returns zero. Otherwise, if no such cursor exists, then returns None.