sig
  type 'a t
  exception Exhausted
  val make : int -> int -> int -> '-> 'Dynamic_buffer.t
  val position : 'Dynamic_buffer.t -> int -> unit
  val next : 'Dynamic_buffer.t -> 'a
  val add : 'Dynamic_buffer.t -> '-> unit
  val reset : 'Dynamic_buffer.t -> unit
  val is_empty : 'Dynamic_buffer.t -> bool
  val get_position : 'Dynamic_buffer.t -> int
end