    sig
      type t
      and open_flag = Dbm_rdonly | Dbm_wronly | Dbm_rdwr | Dbm_create
      exception Dbm_error of string
      val opendbm : string -> Dbm.open_flag list -> int -> Dbm.t
      external close : Dbm.t -> unit = "caml_dbm_close"
      external find : Dbm.t -> string -> string = "caml_dbm_fetch"
      external add : Dbm.t -> string -> string -> unit = "caml_dbm_insert"
      external replace : Dbm.t -> string -> string -> unit = "caml_dbm_replace"
      external remove : Dbm.t -> string -> unit = "caml_dbm_delete"
      external firstkey : Dbm.t -> string = "caml_dbm_firstkey"
      external nextkey : Dbm.t -> string = "caml_dbm_nextkey"
      val iter : (string -> string -> 'a) -> Dbm.t -> unit
    end