sig   val find_tool :     ?search:B0.Fpath.t list -> B0.Cmd.t -> B0.Fpath.t option B0.result   val get_tool : ?search:B0.Fpath.t list -> B0.Cmd.t -> B0.Fpath.t B0.result   val exists : ?search:B0.Fpath.t list -> B0.Cmd.t -> bool B0.result   val must_exist : ?search:B0.Fpath.t list -> B0.Cmd.t -> B0.Cmd.t B0.result   val resolve : ?search:B0.Fpath.t list -> B0.Cmd.t -> B0.Cmd.t B0.result   val search_path_dirs : ?sep:string -> string -> B0.Fpath.t list B0.result   type status = [ `Exited of int | `Signaled of int ]   val pp_status : B0.OS.Cmd.status B0.Fmt.t   val pp_cmd_status : (B0.Cmd.t * B0.OS.Cmd.status) B0.Fmt.t   type stdi   type stdo   val in_string : string -> B0.OS.Cmd.stdi   val in_file : B0.Fpath.t -> B0.OS.Cmd.stdi   val in_fd : close:bool -> Unix.file_descr -> B0.OS.Cmd.stdi   val in_stdin : B0.OS.Cmd.stdi   val in_null : B0.OS.Cmd.stdi   val out_file : B0.Fpath.t -> B0.OS.Cmd.stdo   val out_fd : close:bool -> Unix.file_descr -> B0.OS.Cmd.stdo   val out_stdout : B0.OS.Cmd.stdo   val out_stderr : B0.OS.Cmd.stdo   val out_null : B0.OS.Cmd.stdo   val run_status :     ?env:string list ->     ?cwd:B0.Fpath.t ->     ?stdin:B0.OS.Cmd.stdi ->     ?stdout:B0.OS.Cmd.stdo ->     ?stderr:B0.OS.Cmd.stdo -> B0.Cmd.t -> B0.OS.Cmd.status B0.result   val run_status_out :     ?trim:bool ->     ?env:string list ->     ?cwd:B0.Fpath.t ->     ?stdin:B0.OS.Cmd.stdi ->     ?stderr:[ `Out | `Stdo of B0.OS.Cmd.stdo ] ->     B0.Cmd.t -> (B0.OS.Cmd.status * string) B0.result   val run :     ?env:string list ->     ?cwd:B0.Fpath.t ->     ?stdin:B0.OS.Cmd.stdi ->     ?stdout:B0.OS.Cmd.stdo ->     ?stderr:B0.OS.Cmd.stdo -> B0.Cmd.t -> unit B0.result   val run_out :     ?trim:bool ->     ?env:string list ->     ?cwd:B0.Fpath.t ->     ?stdin:B0.OS.Cmd.stdi ->     ?stderr:[ `Out | `Stdo of B0.OS.Cmd.stdo ] ->     B0.Cmd.t -> string B0.result   type pid   val pid_to_int : B0.OS.Cmd.pid -> int   val spawn :     ?env:string list ->     ?cwd:B0.Fpath.t ->     ?stdin:B0.OS.Cmd.stdi ->     ?stdout:B0.OS.Cmd.stdo ->     ?stderr:B0.OS.Cmd.stdo -> B0.Cmd.t -> B0.OS.Cmd.pid B0.result   val collect :     ?block:bool -> B0.OS.Cmd.pid -> B0.OS.Cmd.status option B0.result   val execv :     ?env:string list ->     ?cwd:B0.Fpath.t -> B0.Fpath.t -> B0.Cmd.t -> unit B0.result end