sig   type compression_method = Stored | Deflated   type entry = {     filename : string;     extra : string;     comment : string;     methd : Zip.compression_method;     mtime : float;     crc : int32;     uncompressed_size : int;     compressed_size : int;     is_directory : bool;     file_offset : int64;   }   type in_file   val open_in : string -> Zip.in_file   val entries : Zip.in_file -> Zip.entry list   val comment : Zip.in_file -> string   val find_entry : Zip.in_file -> string -> Zip.entry   val read_entry : Zip.in_file -> Zip.entry -> string   val copy_entry_to_channel :     Zip.in_file -> Zip.entry -> Pervasives.out_channel -> unit   val copy_entry_to_file : Zip.in_file -> Zip.entry -> string -> unit   val close_in : Zip.in_file -> unit   type out_file   val open_out : ?comment:string -> string -> Zip.out_file   val add_entry :     string ->     Zip.out_file ->     ?extra:string ->     ?comment:string -> ?level:int -> ?mtime:float -> string -> unit   val copy_channel_to_entry :     Pervasives.in_channel ->     Zip.out_file ->     ?extra:string ->     ?comment:string -> ?level:int -> ?mtime:float -> string -> unit   val copy_file_to_entry :     string ->     Zip.out_file ->     ?extra:string ->     ?comment:string -> ?level:int -> ?mtime:float -> string -> unit   val add_entry_generator :     Zip.out_file ->     ?extra:string ->     ?comment:string ->     ?level:int ->     ?mtime:float -> string -> (string -> int -> int -> unit) * (unit -> unit)   val close_out : Zip.out_file -> unit   exception Error of string * string * string end