sig
  type data
  type t
  val create : int -> Cudd.Weakke.S.t
  val clear : Cudd.Weakke.S.t -> unit
  val merge : Cudd.Weakke.S.t -> Cudd.Weakke.S.data -> Cudd.Weakke.S.data
  val merge_map :
    Cudd.Weakke.S.t ->
    Cudd.Weakke.S.data ->
    (Cudd.Weakke.S.data -> Cudd.Weakke.S.data) -> Cudd.Weakke.S.data
  val add : Cudd.Weakke.S.t -> Cudd.Weakke.S.data -> unit
  val remove : Cudd.Weakke.S.t -> Cudd.Weakke.S.data -> unit
  val find : Cudd.Weakke.S.t -> Cudd.Weakke.S.data -> Cudd.Weakke.S.data
  val find_all :
    Cudd.Weakke.S.t -> Cudd.Weakke.S.data -> Cudd.Weakke.S.data list
  val mem : Cudd.Weakke.S.t -> Cudd.Weakke.S.data -> bool
  val iter : (Cudd.Weakke.S.data -> unit) -> Cudd.Weakke.S.t -> unit
  val fold : (Cudd.Weakke.S.data -> '-> 'a) -> Cudd.Weakke.S.t -> '-> 'a
  val count : Cudd.Weakke.S.t -> int
  val stats : Cudd.Weakke.S.t -> int * int * int * int * int * int
  val print :
    ?first:(unit, Format.formatter, unit) Pervasives.format ->
    ?sep:(unit, Format.formatter, unit) Pervasives.format ->
    ?last:(unit, Format.formatter, unit) Pervasives.format ->
    (Format.formatter -> Cudd.Weakke.S.data -> unit) ->
    Format.formatter -> Cudd.Weakke.S.t -> unit
end