sig
  module type T =
    sig
      val names : string list
      val description : string
      val latex_description : string
      val arguments : string option
      type parameters
      val make_parameters :
        unit ->
        Command.T.parameters * (Arg.key * Arg.spec * Arg.doc) list *
        Arg.anon_fun
      val run : Command.T.parameters -> unit
    end
  val build_args :
    string ->
    (Arg.key * Arg.spec * Arg.doc) list ->
    (Arg.key * Arg.spec * Arg.doc) list
  type base_parameters = {
    mutable class_path : ClassPath.t;
    mutable elements : string list;
  }
  val make_base_parameters :
    string ->
    Command.base_parameters * (Arg.key * Arg.spec * Arg.doc) list *
    Arg.anon_fun
  val make_empty_parameters :
    string -> unit * (Arg.key * Arg.spec * Arg.doc) list * Arg.anon_fun
  val make_header_printer : int -> string -> unit
end