sig   type t = B0.build   type run   type 'a fiber = ('-> unit) -> unit   val build_dir : B0.build -> B0.Fpath.t   val build_file : B0.build -> string -> B0.Fpath.t   val src_dir : B0.build -> B0.Fpath.t   val unit_build_dir : B0.build -> B0.Unit.t -> B0.Fpath.t   val conf : B0.build -> 'B0.Conf.key -> 'a   val tool : B0.build -> B0.Tool.t -> B0.Cmd.t -> B0.Build.run   val conf_tool :     B0.build -> B0.Tool.t B0.Conf.key -> B0.Cmd.t -> B0.Build.run   val ready : B0.build -> B0.Fpath.t -> unit   val src : B0.build -> B0.Fpath.t -> B0.Fpath.t   type stdo = [ `File of B0.Fpath.t | `Tee of B0.Fpath.t | `Ui ]   val spawn :     B0.build ->     ?reads:B0.Fpath.t list ->     ?writes:B0.Fpath.t list ->     ?success:int list ->     ?env:B0.OS.Env.t ->     ?cwd:B0.Fpath.t ->     ?stdin:B0.Fpath.t ->     ?stdout:B0.Build.stdo -> ?stderr:B0.Build.stdo -> B0.Build.run -> unit   val read : B0.build -> B0.Fpath.t -> string B0.Build.fiber   val write :     B0.build ->     ?reads:B0.Fpath.t list -> B0.Fpath.t -> (unit -> string) -> unit   val copy_file :     ?linenum:int -> B0.build -> B0.Fpath.t -> B0.Fpath.t -> unit   val mkdir : B0.build -> B0.Fpath.t -> unit B0.Build.fiber   val await_units : B0.build -> B0.Unit.t list -> unit B0.Build.fiber   val fail :     ((('a, Format.formatter, unit, unit) Pervasives.format4 -> 'a) -> unit) ->     'b   val fail_on_error_msg : 'B0.result -> 'a   val find_path_meta :     B0.build -> B0.Fpath.t -> 'B0.Fpath.Meta.key -> 'a option   val add_path_meta :     ?force:bool ->     B0.build -> B0.Fpath.t -> 'B0.Fpath.Meta.key -> '-> unit   val unit : B0.build -> B0.Unit.t   val units : B0.build -> B0.Unit.t list   type ctrl   val ctrl : ?tty_cap:B0.Tty.cap -> ?max_spawn:int -> unit -> B0.Build.ctrl   val create :     ?prev_outcome:B0.Outcome.t ->     B0.Cache.t ->     B0.Build.ctrl ->     B0.Env.t ->     B0.Conf.t ->     B0.Fpath.Meta_map.t ->     dir:B0.Fpath.t ->     universe:B0.Unit.t list -> B0.Unit.t list -> B0.build B0.result   val dir : B0.build -> B0.Fpath.t   val cache : B0.build -> B0.Cache.t   val stored_conf : B0.build -> B0.Conf.t   val outcome : B0.build -> B0.Outcome.t   val start : B0.build -> unit   val finish : B0.build -> unit B0.result end