sig
  exception Error of string * string
  val compress :
    ?level:int ->
    ?header:bool -> (string -> int) -> (string -> int -> unit) -> unit
  val uncompress :
    ?header:bool -> (string -> int) -> (string -> int -> unit) -> unit
end