sig
exception Invalid_objectId
exception Wrong_bson_type
exception Wrong_string
exception Malformed_bson
type t
type special = NULL | MINKEY | MAXKEY
type element
val empty : Bson.t
val is_empty : Bson.t -> bool
val add_element : string -> Bson.element -> Bson.t -> Bson.t
val get_element : string -> Bson.t -> Bson.element
val remove_element : string -> Bson.t -> Bson.t
val encode : Bson.t -> string
val decode : string -> Bson.t
val create_double : float -> Bson.element
val create_string : string -> Bson.element
val create_doc_element : Bson.t -> Bson.element
val create_list : Bson.element list -> Bson.element
val create_user_binary : string -> Bson.element
val create_objectId : string -> Bson.element
val create_boolean : bool -> Bson.element
val create_utc : int64 -> Bson.element
val create_null : unit -> Bson.element
val create_regex : string -> string -> Bson.element
val create_jscode : string -> Bson.element
val create_jscode_w_s : string -> Bson.t -> Bson.element
val create_int32 : int32 -> Bson.element
val create_int64 : int64 -> Bson.element
val create_minkey : unit -> Bson.element
val create_maxkey : unit -> Bson.element
val get_double : Bson.element -> float
val get_string : Bson.element -> string
val get_doc_element : Bson.element -> Bson.t
val get_list : Bson.element -> Bson.element list
val get_generic_binary : Bson.element -> string
val get_function_binary : Bson.element -> string
val get_uuid_binary : Bson.element -> string
val get_md5_binary : Bson.element -> string
val get_user_binary : Bson.element -> string
val get_objectId : Bson.element -> string
val get_boolean : Bson.element -> bool
val get_utc : Bson.element -> int64
val get_null : Bson.element -> Bson.special
val get_regex : Bson.element -> string * string
val get_jscode : Bson.element -> string
val get_jscode_w_s : Bson.element -> string * Bson.t
val get_int32 : Bson.element -> int32
val get_int64 : Bson.element -> int64
val get_timestamp : Bson.element -> int64
val get_minkey : Bson.element -> Bson.special
val get_maxkey : Bson.element -> Bson.special
val to_simple_json : Bson.t -> string
end