sig
  val version : string
  val url : string
  val ( ++ ) : int -> int -> int
  val ( +| ) : int array -> int array -> int array
  val mkdirs : string -> unit
  val split : ('-> bool) -> 'a list -> 'a list * 'a list
  val split_after : int -> 'a list -> 'a list * 'a list
  val open_both :
    string -> string -> Pervasives.in_channel * Pervasives.out_channel
  val output_strings :
    string list -> (string * string) list -> Pervasives.out_channel -> unit
  val output_bytes : int array -> string -> unit
end