fn bsearch(vm: &mut VM, self_val: Value, args: &Args2) -> VMResult {
    args.check_args_num(0)?;
    let ary = self_val.into_array();
    let block = to_enum_str!(vm, self_val, args, "bsearch");
    match binary_search(vm, ary, block)? {
        Some(i) => Ok(ary[i]),
        None => Ok(Value::nil()),
    }
}
## instance method Array#bsearch
- bsearch { |x| ... } -> object | nil
- bsearch -> Enumerator

https://docs.ruby-lang.org/ja/latest/method/Array/i/bsearch.html
ruruby/src/builtin/array.rs