sig
val last_and_length : 'a list -> 'a * int
val gen_int_fun : unit -> unit -> int
val arg_min_array : ('a -> 'b) -> 'a array -> int * 'b
val arg_max_array : ('a -> 'b) -> 'a array -> int * 'b
val int_overflow : float -> bool
module Operators :
sig
val ( =+ ) : int Pervasives.ref -> int -> unit
val ( =+. ) : float Pervasives.ref -> float -> unit
val min : int -> int -> int
val max : int -> int -> int
val ( * ) : int -> int -> int
val ( + ) : int -> int -> int
val ( - ) : int -> int -> int
val sign : int -> int
val ( /+ ) : int -> int -> int
val ( /- ) : int -> int -> int
end
val iter : ('a -> 'a) -> int -> 'a -> 'a
val goedel : (int -> 'a -> 'a) -> int -> 'a -> 'a
val protect : string -> (unit -> 'a) -> 'a
end