sig
  type ('k, 'v) t
  val empty : ('k, 'v) Tbl.t
  val add : '-> '-> ('k, 'v) Tbl.t -> ('k, 'v) Tbl.t
  val find : '-> ('k, 'v) Tbl.t -> 'v
  val find_str : string -> (string, 'v) Tbl.t -> 'v
  val mem : '-> ('k, 'v) Tbl.t -> bool
  val remove : '-> ('k, 'v) Tbl.t -> ('k, 'v) Tbl.t
  val iter : ('-> '-> unit) -> ('k, 'v) Tbl.t -> unit
  val map : ('-> 'v1 -> 'v2) -> ('k, 'v1) Tbl.t -> ('k, 'v2) Tbl.t
  val fold : ('-> '-> 'acc -> 'acc) -> ('k, 'v) Tbl.t -> 'acc -> 'acc
  val print :
    (Format.formatter -> '-> unit) ->
    (Format.formatter -> '-> unit) ->
    Format.formatter -> ('k, 'v) Tbl.t -> unit
end