sig   module Env :     sig       val find : empty_to_none:bool -> string -> string option       val find_value :         (string -> ('a, string) Pervasives.result) ->         empty_to_none:bool -> string -> ('a, string) Pervasives.result option       type t = string B0_std.String.Map.t       val empty : B0_std.Os.Env.t       val override : B0_std.Os.Env.t -> by:B0_std.Os.Env.t -> B0_std.Os.Env.t       val current : unit -> (B0_std.Os.Env.t, string) Pervasives.result       type assignments = string list       val current_assignments :         unit -> (B0_std.Os.Env.assignments, string) Pervasives.result       val of_assignments :         ?init:B0_std.Os.Env.t ->         string list -> (B0_std.Os.Env.t, string) Pervasives.result       val to_assignments : B0_std.Os.Env.t -> B0_std.Os.Env.assignments     end   module Path :     sig       val exists : B0_std.Fpath.t -> (bool, string) Pervasives.result       val must_exist : B0_std.Fpath.t -> (unit, string) Pervasives.result       val delete :         recurse:bool -> B0_std.Fpath.t -> (bool, string) Pervasives.result       val rename :         force:bool ->         make_path:bool ->         src:B0_std.Fpath.t ->         B0_std.Fpath.t -> (unit, string) Pervasives.result       val get_mode : B0_std.Fpath.t -> (int, string) Pervasives.result       val set_mode :         B0_std.Fpath.t -> int -> (unit, string) Pervasives.result       val stat : B0_std.Fpath.t -> (Unix.stats, string) Pervasives.result       val symlink :         force:bool ->         make_path:bool ->         src:B0_std.Fpath.t ->         B0_std.Fpath.t -> (unit, string) Pervasives.result       val symlink_link :         B0_std.Fpath.t -> (B0_std.Fpath.t, string) Pervasives.result       val symlink_stat :         B0_std.Fpath.t -> (Unix.stats, string) Pervasives.result       type tmp_name = (string -> string, unit, string) Pervasives.format       val tmp :         ?make_path:bool ->         ?dir:B0_std.Fpath.t ->         ?name:B0_std.Os.Path.tmp_name ->         unit -> (B0_std.Fpath.t, string) Pervasives.result     end   module File :     sig       val null : B0_std.Fpath.t       val dash : B0_std.Fpath.t       val exists : B0_std.Fpath.t -> (bool, string) Pervasives.result       val must_exist : B0_std.Fpath.t -> (unit, string) Pervasives.result       val is_executable : B0_std.Fpath.t -> bool       val delete : B0_std.Fpath.t -> (bool, string) Pervasives.result       val truncate :         B0_std.Fpath.t -> int -> (unit, string) Pervasives.result       val link :         force:bool ->         make_path:bool ->         src:B0_std.Fpath.t ->         B0_std.Fpath.t -> (unit, string) Pervasives.result       val read_with_fd :         B0_std.Fpath.t ->         (Unix.file_descr -> 'b) -> ('b, string) Pervasives.result       val read_with_ic :         B0_std.Fpath.t ->         (Pervasives.in_channel -> 'b) -> ('b, string) Pervasives.result       val read : B0_std.Fpath.t -> (string, string) Pervasives.result       val write_with_fd :         ?atomic:bool ->         ?mode:int ->         force:bool ->         make_path:bool ->         B0_std.Fpath.t ->         (Unix.file_descr -> ('a, 'b) Pervasives.result) ->         (('a, 'b) Pervasives.result, string) Pervasives.result       val write_with_oc :         ?atomic:bool ->         ?mode:int ->         force:bool ->         make_path:bool ->         B0_std.Fpath.t ->         (Pervasives.out_channel -> ('a, 'b) Pervasives.result) ->         (('a, 'b) Pervasives.result, string) Pervasives.result       val write :         ?atomic:bool ->         ?mode:int ->         force:bool ->         make_path:bool ->         B0_std.Fpath.t -> string -> (unit, string) Pervasives.result       val copy :         ?atomic:bool ->         ?mode:int ->         force:bool ->         make_path:bool ->         src:B0_std.Fpath.t ->         B0_std.Fpath.t -> (unit, string) Pervasives.result       val with_tmp_fd :         ?flags:Unix.open_flag list ->         ?mode:int ->         ?make_path:bool ->         ?dir:B0_std.Fpath.t ->         ?name:B0_std.Os.Path.tmp_name ->         (B0_std.Fpath.t -> Unix.file_descr -> 'b) ->         ('b, string) Pervasives.result       val open_tmp_fd :         ?flags:Unix.open_flag list ->         ?mode:int ->         ?make_path:bool ->         ?dir:B0_std.Fpath.t ->         ?name:B0_std.Os.Path.tmp_name ->         unit -> (B0_std.Fpath.t * Unix.file_descr, string) Pervasives.result       val with_tmp_oc :         ?flags:Unix.open_flag list ->         ?mode:int ->         ?make_path:bool ->         ?dir:B0_std.Fpath.t ->         ?name:B0_std.Os.Path.tmp_name ->         (B0_std.Fpath.t -> Pervasives.out_channel -> 'b) ->         ('b, string) Pervasives.result     end   module Dir :     sig       val exists : B0_std.Fpath.t -> (bool, string) Pervasives.result       val must_exist : B0_std.Fpath.t -> (unit, string) Pervasives.result       val create :         ?mode:int ->         make_path:bool -> B0_std.Fpath.t -> (bool, string) Pervasives.result       val fold :         ?rel:bool ->         ?dotfiles:bool ->         ?follow_symlinks:bool ->         ?prune:(Unix.stats -> string -> B0_std.Fpath.t -> bool) ->         recurse:bool ->         (Unix.stats -> string -> B0_std.Fpath.t -> '-> 'a) ->         B0_std.Fpath.t -> '-> ('a, string) Pervasives.result       val fold_files :         ?rel:bool ->         ?dotfiles:bool ->         ?follow_symlinks:bool ->         ?prune:(Unix.stats -> string -> B0_std.Fpath.t -> bool) ->         recurse:bool ->         (Unix.stats -> string -> B0_std.Fpath.t -> '-> 'a) ->         B0_std.Fpath.t -> '-> ('a, string) Pervasives.result       val fold_dirs :         ?rel:bool ->         ?dotfiles:bool ->         ?follow_symlinks:bool ->         ?prune:(Unix.stats -> string -> B0_std.Fpath.t -> bool) ->         recurse:bool ->         (Unix.stats -> string -> B0_std.Fpath.t -> '-> 'a) ->         B0_std.Fpath.t -> '-> ('a, string) Pervasives.result       val path_list :         Unix.stats ->         string ->         B0_std.Fpath.t -> B0_std.Fpath.t list -> B0_std.Fpath.t list       val copy :         ?rel:bool ->         ?atomic:bool ->         ?follow_symlinks:bool ->         ?prune:(Unix.stats -> string -> B0_std.Fpath.t -> bool) ->         make_path:bool ->         recurse:bool ->         src:B0_std.Fpath.t ->         B0_std.Fpath.t -> (unit, string) Pervasives.result       val cwd : unit -> (B0_std.Fpath.t, string) Pervasives.result       val set_cwd : B0_std.Fpath.t -> (unit, string) Pervasives.result       val with_cwd :         B0_std.Fpath.t -> (unit -> 'a) -> ('a, string) Pervasives.result       val default_tmp : unit -> B0_std.Fpath.t       val set_default_tmp : B0_std.Fpath.t -> unit       val with_tmp :         ?mode:int ->         ?make_path:bool ->         ?dir:B0_std.Fpath.t ->         ?name:B0_std.Os.Path.tmp_name ->         (B0_std.Fpath.t -> 'a) -> ('a, string) Pervasives.result       val tmp :         ?mode:int ->         ?make_path:bool ->         ?dir:B0_std.Fpath.t ->         ?name:B0_std.Os.Path.tmp_name ->         unit -> (B0_std.Fpath.t, string) Pervasives.result       val user : unit -> (B0_std.Fpath.t, string) Pervasives.result       val config : unit -> (B0_std.Fpath.t, string) Pervasives.result       val data : unit -> (B0_std.Fpath.t, string) Pervasives.result       val cache : unit -> (B0_std.Fpath.t, string) Pervasives.result       val runtime : unit -> (B0_std.Fpath.t, string) Pervasives.result     end   module Fd :     sig       val unix_buffer_size : int       val apply :         close:(Unix.file_descr -> unit) ->         Unix.file_descr -> (Unix.file_descr -> 'a) -> 'a       val copy :         ?buf:Bytes.t -> src:Unix.file_descr -> Unix.file_descr -> unit       val to_string : Unix.file_descr -> string       val read_file : string -> Unix.file_descr -> string     end   module Cmd :     sig       val find_tool :         ?search:B0_std.Fpath.t list ->         B0_std.Cmd.tool -> (B0_std.Fpath.t option, string) Pervasives.result       val must_find_tool :         ?search:B0_std.Fpath.t list ->         B0_std.Cmd.tool -> (B0_std.Fpath.t, string) Pervasives.result       val find_first_tool :         ?search:B0_std.Fpath.t list ->         B0_std.Cmd.tool list ->         (B0_std.Fpath.t option, string) Pervasives.result       val find :         ?search:B0_std.Fpath.t list ->         B0_std.Cmd.t -> (B0_std.Cmd.t option, string) Pervasives.result       val must_find :         ?search:B0_std.Fpath.t list ->         B0_std.Cmd.t -> (B0_std.Cmd.t, string) Pervasives.result       val find_first :         ?search:B0_std.Fpath.t list ->         B0_std.Cmd.t list -> (B0_std.Cmd.t option, string) Pervasives.result       type status = [ `Exited of int | `Signaled of int ]       val pp_status : B0_std.Os.Cmd.status B0_std.Fmt.t       val pp_cmd_status : (B0_std.Cmd.t * B0_std.Os.Cmd.status) B0_std.Fmt.t       type stdi       val in_string : string -> B0_std.Os.Cmd.stdi       val in_file : B0_std.Fpath.t -> B0_std.Os.Cmd.stdi       val in_fd : close:bool -> Unix.file_descr -> B0_std.Os.Cmd.stdi       val in_stdin : B0_std.Os.Cmd.stdi       val in_null : B0_std.Os.Cmd.stdi       type stdo       val out_file : B0_std.Fpath.t -> B0_std.Os.Cmd.stdo       val out_fd : close:bool -> Unix.file_descr -> B0_std.Os.Cmd.stdo       val out_stdout : B0_std.Os.Cmd.stdo       val out_stderr : B0_std.Os.Cmd.stdo       val out_null : B0_std.Os.Cmd.stdo       val run_status :         ?env:B0_std.Os.Env.assignments ->         ?cwd:B0_std.Fpath.t ->         ?stdin:B0_std.Os.Cmd.stdi ->         ?stdout:B0_std.Os.Cmd.stdo ->         ?stderr:B0_std.Os.Cmd.stdo ->         B0_std.Cmd.t -> (B0_std.Os.Cmd.status, string) Pervasives.result       val run_status_out :         ?env:B0_std.Os.Env.assignments ->         ?cwd:B0_std.Fpath.t ->         ?stdin:B0_std.Os.Cmd.stdi ->         ?stderr:[ `Out | `Stdo of B0_std.Os.Cmd.stdo ] ->         ?trim:bool ->         B0_std.Cmd.t ->         (B0_std.Os.Cmd.status * string, string) Pervasives.result       val run :         ?env:B0_std.Os.Env.assignments ->         ?cwd:B0_std.Fpath.t ->         ?stdin:B0_std.Os.Cmd.stdi ->         ?stdout:B0_std.Os.Cmd.stdo ->         ?stderr:B0_std.Os.Cmd.stdo ->         B0_std.Cmd.t -> (unit, string) Pervasives.result       val run_out :         ?env:B0_std.Os.Env.assignments ->         ?cwd:B0_std.Fpath.t ->         ?stdin:B0_std.Os.Cmd.stdi ->         ?stderr:[ `Out | `Stdo of B0_std.Os.Cmd.stdo ] ->         ?trim:bool -> B0_std.Cmd.t -> (string, string) Pervasives.result       type pid       val pid_to_int : B0_std.Os.Cmd.pid -> int       val spawn :         ?env:B0_std.Os.Env.assignments ->         ?cwd:B0_std.Fpath.t ->         ?stdin:B0_std.Os.Cmd.stdi ->         ?stdout:B0_std.Os.Cmd.stdo ->         ?stderr:B0_std.Os.Cmd.stdo ->         B0_std.Cmd.t -> (B0_std.Os.Cmd.pid, string) Pervasives.result       val spawn_poll_status :         B0_std.Os.Cmd.pid ->         (B0_std.Os.Cmd.status option, string) Pervasives.result       val spawn_wait_status :         B0_std.Os.Cmd.pid -> (B0_std.Os.Cmd.status, string) Pervasives.result       type spawn_tracer =           B0_std.Os.Cmd.pid ->           B0_std.Os.Env.assignments option ->           cwd:B0_std.Fpath.t option -> B0_std.Cmd.t -> unit       val spawn_tracer_nop : B0_std.Os.Cmd.spawn_tracer       val spawn_tracer : unit -> B0_std.Os.Cmd.spawn_tracer       val set_spawn_tracer : B0_std.Os.Cmd.spawn_tracer -> unit       val execv :         ?env:B0_std.Os.Env.assignments ->         ?cwd:B0_std.Fpath.t ->         B0_std.Fpath.t -> B0_std.Cmd.t -> (unit, string) Pervasives.result     end end