sig   type t =       [ `And of Ketrew_pure.Program.t list       | `Exec of string list       | `Shell_command of string ]   val to_yojson : Ketrew_pure.Program.t -> Yojson.Safe.json   val of_yojson :     Yojson.Safe.json ->     Ketrew_pure.Program.t Ppx_deriving_yojson_runtime.error_or   val to_shell_commands : Ketrew_pure.Program.t -> string list   val to_single_shell_command : Ketrew_pure.Program.t -> string   val log : Ketrew_pure.Program.t -> Internal_pervasives.Log.t   val to_string_hum : Ketrew_pure.Program.t -> string   val markup :     ?flatten:bool ->     Ketrew_pure.Program.t -> Internal_pervasives.Display_markup.t end