sig
  type 'a t = 'a Biocaml_accu.counter
  val create : ?n:int -> unit -> 'a Biocaml_accu.Counter.t
  val add : 'a Biocaml_accu.counter -> 'a -> int -> unit
  val tick : 'a Biocaml_accu.counter -> 'a -> unit
  val stream : 'a Biocaml_accu.counter -> ('a * int) Stream.t
  val of_stream : 'a Stream.t -> 'a Biocaml_accu.counter
end