sig   exception Error of string * string   val compress :     ?level:int ->     ?header:bool -> (string -> int) -> (string -> int -> unit) -> unit   val compress_direct :     ?level:int ->     ?header:bool ->     (string -> int -> unit) ->     (string -> int -> int -> unit) * (unit -> unit)   val uncompress :     ?header:bool -> (string -> int) -> (string -> int -> unit) -> unit   type stream   type flush_command = Z_NO_FLUSH | Z_SYNC_FLUSH | Z_FULL_FLUSH | Z_FINISH   external deflate_init : int -> bool -> Zlib.stream = "camlzip_deflateInit"   external deflate :     Zlib.stream ->     string ->     int ->     int -> string -> int -> int -> Zlib.flush_command -> bool * int * int     = "camlzip_deflate_bytecode" "camlzip_deflate"   external deflate_end : Zlib.stream -> unit = "camlzip_deflateEnd"   external inflate_init : bool -> Zlib.stream = "camlzip_inflateInit"   external inflate :     Zlib.stream ->     string ->     int ->     int -> string -> int -> int -> Zlib.flush_command -> bool * int * int     = "camlzip_inflate_bytecode" "camlzip_inflate"   external inflate_end : Zlib.stream -> unit = "camlzip_inflateEnd"   external update_crc : int32 -> string -> int -> int -> int32     = "camlzip_update_crc32" end