sig
  type single = { mutable count : int; mutable total : int; }
  type all = (Common.point_kind * ReportStat.single) list
  val make : unit -> ReportStat.all
  val update : ReportStat.all -> Common.point_kind -> bool -> unit
  val summarize : ReportStat.all -> int * int
  val add : ReportStat.all -> ReportStat.all -> ReportStat.all
  val sum : ReportStat.all list -> ReportStat.all
end