sig
  type t
  val dim : int
  type v
  type p
  type size
  type m
  val v : Gg.Box.p -> Gg.Box.size -> Gg.Box.t
  val v_mid : Gg.Box.p -> Gg.Box.size -> Gg.Box.t
  val empty : Gg.Box.t
  val o : Gg.Box.t -> Gg.Box.p
  val size : Gg.Box.t -> Gg.Box.size
  val zero : Gg.Box.t
  val unit : Gg.Box.t
  val of_pts : Gg.Box.p -> Gg.Box.p -> Gg.Box.t
  val min : Gg.Box.t -> Gg.Box.p
  val max : Gg.Box.t -> Gg.Box.p
  val mid : Gg.Box.t -> Gg.Box.p
  val area : Gg.Box.t -> float
  val inter : Gg.Box.t -> Gg.Box.t -> Gg.Box.t
  val union : Gg.Box.t -> Gg.Box.t -> Gg.Box.t
  val inset : Gg.Box.v -> Gg.Box.t -> Gg.Box.t
  val round : Gg.Box.t -> Gg.Box.t
  val move : Gg.Box.v -> Gg.Box.t -> Gg.Box.t
  val ltr : Gg.Box.m -> Gg.Box.t -> Gg.Box.t
  val map_f : (float -> float) -> Gg.Box.t -> Gg.Box.t
  val is_empty : Gg.Box.t -> bool
  val is_pt : Gg.Box.t -> bool
  val isects : Gg.Box.t -> Gg.Box.t -> bool
  val subset : Gg.Box.t -> Gg.Box.t -> bool
  val mem : Gg.Box.p -> Gg.Box.t -> bool
  val equal : Gg.Box.t -> Gg.Box.t -> bool
  val equal_f : (float -> float -> bool) -> Gg.Box.t -> Gg.Box.t -> bool
  val compare : Gg.Box.t -> Gg.Box.t -> int
  val compare_f : (float -> float -> int) -> Gg.Box.t -> Gg.Box.t -> int
  val to_string : Gg.Box.t -> string
  val pp : Format.formatter -> Gg.Box.t -> unit
  val pp_f :
    (Format.formatter -> float -> unit) ->
    Format.formatter -> Gg.Box.t -> unit
end