sig
val fatal_error : string -> 'a
exception Fatal_error
val try_finally : (unit -> 'a) -> (unit -> unit) -> 'a
val map_end : ('a -> 'b) -> 'a list -> 'b list -> 'b list
val map_left_right : ('a -> 'b) -> 'a list -> 'b list
val for_all2 : ('a -> 'b -> bool) -> 'a list -> 'b list -> bool
val replicate_list : 'a -> int -> 'a list
val list_remove : 'a -> 'a list -> 'a list
val split_last : 'a list -> 'a list * 'a
val samelist : ('a -> 'a -> bool) -> 'a list -> 'a list -> bool
val may : ('a -> unit) -> 'a option -> unit
val may_map : ('a -> 'b) -> 'a option -> 'b option
val find_in_path : string list -> string -> string
val find_in_path_uncap : string list -> string -> string
val remove_file : string -> unit
val expand_directory : string -> string -> string
val create_hashtable : int -> ('a * 'b) list -> ('a, 'b) Hashtbl.t
val copy_file : Pervasives.in_channel -> Pervasives.out_channel -> unit
val copy_file_chunk :
Pervasives.in_channel -> Pervasives.out_channel -> int -> unit
val string_of_file : Pervasives.in_channel -> string
val log2 : int -> int
val align : int -> int -> int
val no_overflow_add : int -> int -> bool
val no_overflow_sub : int -> int -> bool
val no_overflow_lsl : int -> bool
val chop_extension_if_any : string -> string
val chop_extensions : string -> string
val search_substring : string -> string -> int -> int
val rev_split_words : string -> string list
val get_ref : 'a list Pervasives.ref -> 'a list
val fst3 : 'a * 'b * 'c -> 'a
val snd3 : 'a * 'b * 'c -> 'b
val thd3 : 'a * 'b * 'c -> 'c
val fst4 : 'a * 'b * 'c * 'd -> 'a
val snd4 : 'a * 'b * 'c * 'd -> 'b
val thd4 : 'a * 'b * 'c * 'd -> 'c
val for4 : 'a * 'b * 'c * 'd -> 'd
module LongString :
sig
type t = bytes array
val create : int -> Misc.LongString.t
val length : Misc.LongString.t -> int
val get : Misc.LongString.t -> int -> char
val set : Misc.LongString.t -> int -> char -> unit
val blit :
Misc.LongString.t -> int -> Misc.LongString.t -> int -> int -> unit
val output :
Pervasives.out_channel -> Misc.LongString.t -> int -> int -> unit
val unsafe_blit_to_bytes :
Misc.LongString.t -> int -> bytes -> int -> int -> unit
val input_bytes : Pervasives.in_channel -> int -> Misc.LongString.t
end
val edit_distance : string -> string -> int -> int option
val split : string -> char -> string list
val cut_at : string -> char -> string * string
end