`sig
val flprint : string -> unit
val fleprint : string -> unit
val print_floats : float list -> unit
val print_ints : int list -> unit
val print_int32s : int32 list -> unit
val firstchar : string -> char option
val lastchar : string -> char option
val explode : string -> char list
val implode : char list -> string
val string_of_char : char -> string
val string_replace_all : string -> string -> string -> string
val string_replace_all_lazy :
string -> (unit -> string) -> string -> string
val starts_with : string -> string -> bool
val hd : 'a list -> 'a
val tl : 'a list -> 'a list
val rev : 'a list -> 'a list
val iter : ('a -> unit) -> 'a list -> unit
val iter2 : ('a -> 'b -> unit) -> 'a list -> 'b list -> unit
val iter3 :
('a -> 'b -> 'c -> unit) -> 'a list -> 'b list -> 'c list -> unit
val append : 'a list -> 'a list -> 'a list
val ( @ ) : 'a list -> 'a list -> 'a list
val flatten : 'a list list -> 'a list
val rev_map : ('a -> 'b) -> 'a list -> 'b list
val map : ('a -> 'b) -> 'a list -> 'b list
val map2 : ('a -> 'b -> 'c) -> 'a list -> 'b list -> 'c list
val split : ('a * 'b) list -> 'a list * 'b list
val split3 : ('a * 'b * 'c) list -> 'a list * 'b list * 'c list
val split5 :
('a * 'b * 'c * 'd * 'e) list ->
'a list * 'b list * 'c list * 'd list * 'e list
val split6 :
('a * 'b * 'c * 'd * 'e * 'f) list ->
'a list * 'b list * 'c list * 'd list * 'e list * 'f list
val split8 :
('a * 'b * 'c * 'd * 'e * 'f * 'g * 'h) list ->
'a list * 'b list * 'c list * 'd list * 'e list * 'f list * 'g list *
'h list
val combine : 'a list -> 'b list -> ('a * 'b) list
val combine3 : 'a list -> 'b list -> 'c list -> ('a * 'b * 'c) list
val fold_left : ('a -> 'b -> 'a) -> 'a -> 'b list -> 'a
val fold_right : ('a -> 'b -> 'b) -> 'a list -> 'b -> 'b
val length : 'a list -> int
val sort : ('a -> 'a -> int) -> 'a list -> 'a list
val sum : int list -> int
val fsum : float list -> float
val cumulative_sum : int -> int list -> int list
val lcount : ('a -> bool) -> 'a list -> int
val losenones : 'a option list -> 'a list
val option_map : ('a -> 'b option) -> 'a list -> 'b list
val option_map2 : ('a -> 'b -> 'c option) -> 'a list -> 'b list -> 'c list
val mem : 'a -> 'a list -> bool
val position : 'a -> 'a list -> int option
val position_1 : 'a -> 'a list -> int option
val rev_map3 :
('a -> 'b -> 'c -> 'd) -> 'a list -> 'b list -> 'c list -> 'd list
val map3 :
('a -> 'b -> 'c -> 'd) -> 'a list -> 'b list -> 'c list -> 'd list
val rev_map4 :
('a -> 'b -> 'c -> 'd -> 'e) ->
'a list -> 'b list -> 'c list -> 'd list -> 'e list
val map4 :
('a -> 'b -> 'c -> 'd -> 'e) ->
'a list -> 'b list -> 'c list -> 'd list -> 'e list
val rev_map5 :
('a -> 'b -> 'c -> 'd -> 'e -> 'f) ->
'a list -> 'b list -> 'c list -> 'd list -> 'e list -> 'f list
val map5 :
('a -> 'b -> 'c -> 'd -> 'e -> 'f) ->
'a list -> 'b list -> 'c list -> 'd list -> 'e list -> 'f list
val rev_map6 :
('a -> 'b -> 'c -> 'd -> 'e -> 'f -> 'g) ->
'a list -> 'b list -> 'c list -> 'd list -> 'e list -> 'f list -> 'g list
val map6 :
('a -> 'b -> 'c -> 'd -> 'e -> 'f -> 'g) ->
'a list -> 'b list -> 'c list -> 'd list -> 'e list -> 'f list -> 'g list
val take : 'a list -> int -> 'a list
val take' : int -> 'a list -> 'a list
val drop : 'a list -> int -> 'a list
val drop' : int -> 'a list -> 'a list
val takewhile : ('a -> bool) -> 'a list -> 'a list
val takewhile_reverse : ('a -> bool) -> 'a list -> 'a list
val dropwhile : ('a -> bool) -> 'a list -> 'a list
val cleave : 'a list -> int -> 'a list * 'a list
val cleavewhile : ('a -> bool) -> 'a list -> 'a list * 'a list
val cleavewhile_unordered : ('a -> bool) -> 'a list -> 'a list * 'a list
val isolate : ('a -> bool) -> ('a -> bool) -> 'a list -> 'a list
val interleave : 'a -> 'a list -> 'a list
val interleave_lists : 'a list -> 'a list -> 'a list
val collate : ('a -> 'a -> int) -> 'a list -> 'a list list
val map_lol : ('a -> 'b) -> 'a list list -> 'b list list
val pairs : 'a list -> ('a * 'a) list
val mem' : 'a list -> 'a -> bool
val setify : 'a list -> 'a list
val setify_preserving_order : 'a list -> 'a list
val setify_large : 'a list -> 'a list
val setminus : 'a list -> 'a list -> 'a list
val setminus_preserving_order : 'a list -> 'a list -> 'a list
val heads : 'a list list -> 'a list
val tails : 'a list list -> 'a list list
val zipn : 'a list list -> 'a list list
val couple : ('a -> 'a -> 'b) -> 'a list -> 'b list
val couple_ext : ('a -> 'a -> 'b) -> ('a -> 'b) -> 'a list -> 'b list
val couple_reduce : ('a -> 'a -> 'a) -> 'a list -> 'a
val pair : ('a -> 'a -> 'a) -> 'a list -> 'a list
val pair_ext : ('a -> 'a -> 'b) -> ('a -> 'b) -> 'a list -> 'b list
val pair_reduce : ('a -> 'a -> 'a) -> 'a list -> 'a
val keep : ('a -> bool) -> 'a list -> 'a list
val lose : ('a -> bool) -> 'a list -> 'a list
val many : 'a -> int -> 'a list
val manyunique : (unit -> 'a) -> int -> 'a list
val splitinto : int -> 'a list -> 'a list list
val splitinto_small : int -> 'a list -> 'a list list
val splitat : int list -> 'a list -> 'a list list
val select : int -> 'a list -> 'a
val replace_number : int -> 'a -> 'a list -> 'a list
val isnull : 'a list -> bool
val notnull : 'a list -> bool
val last : 'a list -> 'a
val all_but_last : 'a list -> 'a list
val extremes : 'a list -> 'a * 'a
val extremes_and_middle : 'a list -> 'a * 'a list * 'a
val ilist : int -> int -> int list
val ilist_null : int -> int -> int list
val ilist_fail_null : int -> int -> int list
val indx : 'a list -> int list
val indx0 : 'a list -> int list
val indxn : int -> 'a list -> int list
val drop_evens : 'a list -> 'a list
val really_drop_evens : 'a list -> 'a list
val drop_odds : 'a list -> 'a list
val tail_no_fail : 'a list -> 'a list
val ( @@ ) : 'a list -> 'a list -> 'a list
val replaceinlist : ('a -> bool) -> 'a -> 'a list -> 'a list
val index : ('a -> bool) -> 'a list -> int
val split_around : ('a -> bool) -> 'a list -> 'a list list
val i32ofi : int -> int32
val i32toi : int32 -> int
val i32tof : int32 -> float
val i32add : int32 -> int32 -> int32
val i32sub : int32 -> int32 -> int32
val i32div : int32 -> int32 -> int32
val i32mul : int32 -> int32 -> int32
val sr32 : int32 -> int -> int32
val lsr32 : int32 -> int -> int32
val lsl32 : int32 -> int -> int32
val lor32 : int32 -> int32 -> int32
val land32 : int32 -> int32 -> int32
val lnot32 : int32 -> int32
val lxor32 : int32 -> int32 -> int32
val i32succ : int32 -> int32
val i32pred : int32 -> int32
val i32max : int32 -> int32 -> int32
val i32min : int32 -> int32 -> int32
val i64ofi : int -> int64
val i64toi : int64 -> int
val i64tof : int64 -> float
val i64add : int64 -> int64 -> int64
val i64sub : int64 -> int64 -> int64
val i64div : int64 -> int64 -> int64
val i64mul : int64 -> int64 -> int64
val sr64 : int64 -> int -> int64
val lsr64 : int64 -> int -> int64
val lsl64 : int64 -> int -> int64
val lor64 : int64 -> int64 -> int64
val land64 : int64 -> int64 -> int64
val lnot64 : int64 -> int64
val lxor64 : int64 -> int64 -> int64
val i64succ : int64 -> int64
val i64pred : int64 -> int64
val i64max : int64 -> int64 -> int64
val i64min : int64 -> int64 -> int64
val i32ofi64 : int64 -> int32
val i64ofi32 : int32 -> int64
val lookup : 'a -> ('a * 'b) list -> 'b option
val lookup_failnull : 'a -> ('a * 'b) list -> 'b
val add : 'a -> 'b -> ('a * 'b) list -> ('a * 'b) list
val replace : 'a -> 'b -> ('a * 'b) list -> ('a * 'b) list
val remove : 'a -> ('a * 'b) list -> ('a * 'b) list
val mergedict : ('a * 'b) list -> ('a * 'b) list -> ('a * 'b) list
val set : bool Stdlib.ref -> unit
val clear : bool Stdlib.ref -> unit
val flip : bool Stdlib.ref -> unit
val ( += ) : int Stdlib.ref -> int -> unit
val ( -= ) : int Stdlib.ref -> int -> unit
val ( /= ) : int Stdlib.ref -> int -> unit
val ( *= ) : int Stdlib.ref -> int -> unit
val ( +.= ) : float Stdlib.ref -> float -> unit
val ( -.= ) : float Stdlib.ref -> float -> unit
val ( /.= ) : float Stdlib.ref -> float -> unit
val ( *.= ) : float Stdlib.ref -> float -> unit
val ( =| ) : 'a list Stdlib.ref -> 'a -> unit
val ( =@ ) : 'a list Stdlib.ref -> 'a list -> unit
type vector = float * float
val mkvector : float * float -> float * float -> Pdfutil.vector
val invert : Pdfutil.vector -> Pdfutil.vector
val offset_point : Pdfutil.vector -> float * float -> Pdfutil.vector
val perpendicular : 'a * float -> float * 'a
val sqr : float -> float
val veclength : Pdfutil.vector -> float
val scalevectolength : float -> Pdfutil.vector -> Pdfutil.vector
val mkunitvector : float * float -> float * float -> Pdfutil.vector
val between : float * float -> float * float -> float * float
val distance_between : float * float -> float * float -> float
val round : float -> float
val iround : float -> int
val largest_pow2_divisible : int -> int
val pow2lt : int -> int
val pow2gt : int -> int
val log2of : int -> int
val pow : int -> int -> int
val compare_i : int -> int -> int
val min : int -> int -> int
val max : int -> int -> int
val fmin : float -> float -> float
val fmax : float -> float -> float
val fabs : float -> float
val even : int -> bool
val odd : int -> bool
val pi : float
val root2 : float
val rad_of_deg : float -> float
val deg_of_rad : float -> float
val sign_extend : int -> int -> int
val isdigit : char -> bool
val toint : float -> int
val safe_float : float -> float
val some : 'a option -> bool
val none : 'a option -> bool
val unopt : 'a option -> 'a
val null_hash : unit -> ('a, 'b) Stdlib.Hashtbl.t
val tryfind : ('a, 'b) Stdlib.Hashtbl.t -> 'a -> 'b option
val list_of_hashtbl : ('a, 'b) Stdlib.Hashtbl.t -> ('a * 'b) list
val hashtable_of_dictionary : ('a * 'b) list -> ('a, 'b) Stdlib.Hashtbl.t
val hashset_of_list : 'a list -> ('a, unit) Stdlib.Hashtbl.t
type 'a tree = Lf | Br of 'a * 'a Pdfutil.tree * 'a Pdfutil.tree
val array_iter2 : ('a -> 'b -> unit) -> 'a array -> 'b array -> unit
val array_map2 : ('a -> 'b -> 'c) -> 'a array -> 'b array -> 'c array
val swap : 'a array -> int -> int -> unit
val set_array : 'a array -> 'a -> unit
val memoize : (unit -> 'a) -> unit -> 'a
val ident : 'a -> 'a
val applyn : ('a -> 'a) -> int -> 'a -> 'a
val ( <| ) : ('a -> 'b) -> 'a -> 'b
val mkunit : ('a -> 'b) -> 'a -> unit -> 'b
val tuple : 'a -> 'b -> 'a * 'b
val conspair : ('a * 'b) * ('a list * 'b list) -> 'a list * 'b list
val conspairopt :
('a option * 'b option) * ('a list * 'b list) -> 'a list * 'b list
val pairs_of_list : 'a list -> ('a * 'a) list
val do_return : (unit -> 'a) -> (unit -> 'b) -> 'a
val do_many : (unit -> unit) -> int -> unit
val eq : 'a -> 'a -> bool
val neq : 'a -> 'a -> bool
val rev_compare : 'a -> 'a -> int
val always : 'a -> bool
val never : 'a -> bool
val ( |&| ) : bool -> bool -> bool
val notpred : ('a -> bool) -> 'a -> bool
val box_union :
int * int * int * int -> int * int * int * int -> int * int * int * int
val box_union_float :
float * float * float * float ->
float * float * float * float -> float * float * float * float
val box_overlap :
int ->
int ->
int -> int -> int -> int -> int -> int -> (int * int * int * int) option
val box_overlap_float :
float ->
float ->
float ->
float ->
float ->
float -> float -> float -> (float * float * float * float) option
val leafnames_of_dir : string -> string list
val contents_of_file : string -> string
val contents_to_file : filename:string -> string -> unit
val roman_upper : int -> string
val roman_lower : int -> string
val tt' : unit -> unit
end`