sig
  type t = {
    mutable c_warning : Wpo.warning list;
    mutable c_depends : Wpo.dependency list;
  }
  val stack : Datalib.Collector.t list Pervasives.ref
  val push : unit -> Datalib.Collector.t
  val pop : Datalib.Collector.t -> Wpo.warning list * Wpo.dependency list
  val add_warning :
    ?severe:bool ->
    ?source:string ->
    reason:string ->
    ('a, Format.formatter, unit, unit) Pervasives.format4 -> 'a
  val add_depend :
    WpAnnot.prop_id ->
    ('a, Format.formatter, unit, unit) Pervasives.format4 -> 'a
end