`sig
val input_lines : Pervasives.in_channel -> string BatEnum.t
val input_chars : Pervasives.in_channel -> char BatEnum.t
val input_list : Pervasives.in_channel -> string list
val input_all : Pervasives.in_channel -> string
val print_bool : bool -> unit
val prerr_bool : bool -> unit
val input_file : ?bin:bool -> string -> string
val output_file : filename:string -> text:string -> unit
val string_of_char : char -> string
external identity : 'a -> 'a = "%identity"
val unique : unit -> int
val dump : 'a -> string
val print : 'a -> unit
val finally : (unit -> unit) -> ('a -> 'b) -> 'a -> 'b
val with_dispose : dispose:('a -> unit) -> ('a -> 'b) -> 'a -> 'b
val forever : ('a -> 'b) -> 'a -> unit
val ignore_exceptions : ('a -> 'b) -> 'a -> unit
val args : unit -> string BatEnum.t
val invisible_args : int Pervasives.ref
val exe : string
val ( |> ) : 'a -> ('a -> 'b) -> 'b
val ( <| ) : ('a -> 'b) -> 'a -> 'b
val ( |- ) : ('a -> 'b) -> ('b -> 'c) -> 'a -> 'c
val ( -| ) : ('a -> 'b) -> ('c -> 'a) -> 'c -> 'b
val flip : ('a -> 'b -> 'c) -> 'b -> 'a -> 'c
val ( *** ) : ('a -> 'b) -> ('c -> 'd) -> 'a * 'c -> 'b * 'd
val ( &&& ) : ('a -> 'b) -> ('a -> 'c) -> 'a -> 'b * 'c
val first : ('a -> 'b * 'c) -> 'a -> 'b
val second : ('a -> 'b * 'c) -> 'a -> 'c
val curry : ('a * 'b -> 'c) -> 'a -> 'b -> 'c
val uncurry : ('a -> 'b -> 'c) -> 'a * 'b -> 'c
val const : 'a -> 'b -> 'a
val tap : ('a -> unit) -> 'a -> 'a
type ('a, 'b) result = Ok of 'a | Bad of 'b
val ignore_ok : ('a, exn) BatStd.result -> unit
val ok : ('a, exn) BatStd.result -> 'a
val wrap : ('a -> 'b) -> 'a -> ('b, exn) BatStd.result
val lock : BatConcurrent.lock Pervasives.ref
end`