sig
  val opt_print :
    (Format.formatter -> '-> unit) -> Format.formatter -> 'a option -> unit
  val the : 'a option -> 'a
  val getenv : ?default:string -> string -> string
  val with_input_file :
    ?bin:bool -> string -> (Pervasives.in_channel -> 'a) -> 'a
  val with_output_file :
    ?bin:bool -> string -> (Pervasives.out_channel -> 'a) -> 'a
  val with_temp_file : string -> string -> (string -> 'a) -> 'a
  val read_file : string -> string
  val copy_chan : Pervasives.in_channel -> Pervasives.out_channel -> unit
  val copy_file : string -> string -> unit
  val print_string_list : Format.formatter -> string list -> unit
  val ( !* ) : 'Lazy.t -> 'a
  val ( & ) : ('-> 'b) -> '-> 'b
  val ( |> ) : '-> ('-> 'b) -> 'b
  val ( @:= ) : 'a list Pervasives.ref -> 'a list -> unit
  val memo : ('-> 'b) -> '-> 'b
end