sig
  type error_location = Subtable of string * int | Table | Any
  type error =
      File_not_found of string
    | File_overwrite of string
    | File_not_appendable of string
    | File_not_writeable of string
    | Bad_format of string * string
    | Bad_password of Cryptodbm.Error.error_location
    | Bad_signature of Cryptodbm.Error.error_location
    | No_signature of Cryptodbm.Error.error_location
    | Is_Closed of Cryptodbm.Error.error_location
    | Is_Already_Open of Cryptodbm.Error.error_location
    | No_subtable of string
    | Subtable_exists of string
    | Subtable_overflow
    | Overwrite of string * Cryptodbm.Error.error_location
    | Unbound of string * Cryptodbm.Error.error_location
    | DB_Error of exn
    | Corrupted of Cryptodbm.Error.error_location * string
    | Backup_failure of exn
  exception Error of Cryptodbm.Error.error
  val loc2s : Cryptodbm.Error.error_location -> string
  val error2s : Cryptodbm.Error.error -> string
end