sig
  val sub_commands :
    version:string ->
    prefix:string ->
    configuration_arg:Ketrew.Configuration.t Cmdliner.Term.t ->
    unit ->
    ((unit,
      [> `Client of Ketrew.Client.Error.t
       | `Database of Trakeva.Error.t
       | `Database_unavailable of string
       | `Dyn_plugin of
           [> `Dynlink_error of Dynlink.error | `Findlib of exn ]
       | `Failure of string
       | `Fetching_node of Persistent_data.Error.fetching_node
       | `IO of [> `Write_file_exn of string * exn ]
       | `Target of [> `Deserilization of string ]
       | `Wrong_configuration of [> `Found of string ] * [> `Exn of exn ] ])
     Unix_io.Deferred_result.t Cmdliner.Term.t * Cmdliner.Term.info)
    list
end