sig
  type t
  val ( @> ) : string -> Benchmark.samples Stdlib.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 : Stdlib.Format.formatter -> Benchmark.Tree.t -> unit
  type path = string list
  val print_path : Stdlib.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 *
    (Stdlib.Arg.key * Stdlib.Arg.spec * Stdlib.Arg.doc) list
  val run :
    ?with_gc:bool ->
    ?arg:Benchmark.Tree.arg_state ->
    ?paths:Benchmark.Tree.path list ->
    ?out:Stdlib.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:Stdlib.Format.formatter -> unit -> unit
end