sig
  type t
  val ( @> ) : string -> Benchmark.samples Lazy.t -> Benchmark.Tree.t
  val ( @>> ) : string -> Benchmark.Tree.t -> Benchmark.Tree.t
  val concat : Benchmark.Tree.t list -> Benchmark.Tree.t
  val ( @>>> ) : string -> Benchmark.Tree.t list -> Benchmark.Tree.t
  val with_int : (int -> Benchmark.Tree.t) -> int list -> Benchmark.Tree.t
  val print : Format.formatter -> Benchmark.Tree.t -> unit
  type path = string list
  val print_path : Format.formatter -> Benchmark.Tree.path -> unit
  val parse_path : string -> Benchmark.Tree.path
  val prefix : Benchmark.Tree.path -> Benchmark.Tree.t -> Benchmark.Tree.t
  val filter : Benchmark.Tree.path -> Benchmark.Tree.t -> Benchmark.Tree.t
  type arg_state
  val arg :
    unit -> Benchmark.Tree.arg_state * (Arg.key * Arg.spec * Arg.doc) list
  val run :
    ?arg:Benchmark.Tree.arg_state ->
    ?paths:Benchmark.Tree.path list ->
    ?out:Format.formatter -> Benchmark.Tree.t -> unit
  val global : unit -> Benchmark.Tree.t
  val register : Benchmark.Tree.t -> unit
  val run_global :
    ?argv:string array -> ?out:Format.formatter -> unit -> unit
end