sig
  val bool :
    Ketrew_pure.Target.Condition.t ->
    (bool,
     [> `Host of
          [> `Execution of
               < host : string; message : string; stderr : string option;
                 stdout : string option >
           | `Non_zero of string * int
           | `Ssh_failure of
               [> `Wrong_log of string
                | `Wrong_status of Unix_process.Exit_code.t ] *
               string
           | `System of [> `Sleep of float ] * [> `Exn of exn ]
           | `Timeout of float
           | `Unix_exec of string ]
          Host_io.Error.execution
      | `Volume of [> `No_size of Ketrew_pure.Internal_pervasives.Log.t ] ])
    Unix_io.Deferred_result.t
end