sig   module Exit_code :     sig       type t = [ `Exited of int | `Signaled of int | `Stopped of int ]       val to_string : Ketrew.Unix_process.Exit_code.t -> string       val to_log :         Ketrew.Unix_process.Exit_code.t ->         Ketrew_pure.Internal_pervasives.Log.t     end   val exec :     ?bin:string ->     string list ->     (string * string * Ketrew.Unix_process.Exit_code.t,      [> `Process of [> `Exec of string * string list ] * [> `Exn of exn ] ])     Unix_io.Deferred_result.t   val succeed :     ?bin:string ->     string list ->     (string * string,      [> `Process of           [> `Exec of string * string list ] *           [> `Exn of exn | `Non_zero of string ] ])     Unix_io.Deferred_result.t   val error_to_string :     [< `Process of          [< `Exec of string * string list ] *          [< `Exn of exn | `Non_zero of string ] ] ->     string end