sig
  type int32
  type int64
  type nativeint
  type bytes
  exception Match_failure of (string * int * int)
  exception Assert_failure of (string * int * int)
  exception Invalid_argument of string
  exception Failure of string
  exception Not_found
  exception Out_of_memory
  exception Stack_overflow
  exception Sys_error of string
  exception End_of_file
  exception Division_by_zero
  exception Sys_blocked_io
  exception Undefined_recursive_module of (string * int * int)
  val raise : exn -> 'a
  val invalid_arg : string -> 'a
  val failwith : string -> 'a
  exception Exit
  val ( = ) : '-> '-> bool
  val ( <> ) : '-> '-> bool
  val ( < ) : '-> '-> bool
  val ( > ) : '-> '-> bool
  val ( <= ) : '-> '-> bool
  val ( >= ) : '-> '-> bool
  val compare : '-> '-> int
  val min : '-> '-> 'a
  val max : '-> '-> 'a
  val ( == ) : '-> '-> bool
  val ( != ) : '-> '-> bool
  val not : bool -> bool
  val ( && ) : bool -> bool -> bool
  val ( & ) : bool -> bool -> bool
  val ( or ) : bool -> bool -> bool
  val ( ~- ) : int -> int
  val succ : int -> int
  val pred : int -> int
  val ( + ) : int -> int -> int
  val ( - ) : int -> int -> int
  val ( * ) : int -> int -> int
  val ( / ) : int -> int -> int
  val ( mod ) : int -> int -> int
  val abs : int -> int
  val max_int : int
  val min_int : int
  val ( land ) : int -> int -> int
  val ( lor ) : int -> int -> int
  val ( lxor ) : int -> int -> int
  val lnot : int -> int
  val ( lsl ) : int -> int -> int
  val ( lsr ) : int -> int -> int
  val ( asr ) : int -> int -> int
  val ( ~-. ) : float -> float
  val ( +. ) : float -> float -> float
  val ( -. ) : float -> float -> float
  val ( *. ) : float -> float -> float
  val ( /. ) : float -> float -> float
  val ( ** ) : float -> float -> float
  val sqrt : float -> float
  val exp : float -> float
  val log : float -> float
  val log10 : float -> float
  val cos : float -> float
  val sin : float -> float
  val tan : float -> float
  val acos : float -> float
  val asin : float -> float
  val atan : float -> float
  val atan2 : float -> float -> float
  val cosh : float -> float
  val sinh : float -> float
  val tanh : float -> float
  val ceil : float -> float
  val floor : float -> float
  val abs_float : float -> float
  val mod_float : float -> float -> float
  val frexp : float -> float * int
  val ldexp : float -> int -> float
  val modf : float -> float * float
  val float : int -> float
  val float_of_int : int -> float
  val truncate : float -> int
  val int_of_float : float -> int
  val infinity : float
  val neg_infinity : float
  val nan : float
  val max_float : float
  val min_float : float
  val epsilon_float : float
  type fpclass = FP_normal | FP_subnormal | FP_zero | FP_infinite | FP_nan
  val classify_float : float -> Stdlib.fpclass
  val ( ^ ) : string -> string -> string
  val int_of_char : char -> int
  val char_of_int : int -> char
  val ignore : '-> unit
  val string_of_bool : bool -> string
  val bool_of_string : string -> bool
  val string_of_int : int -> string
  val int_of_string : string -> int
  val string_of_float : float -> string
  val float_of_string : string -> float
  val fst : 'a * '-> 'a
  val snd : 'a * '-> 'b
  val ( @ ) : 'a list -> 'a list -> 'a list
  type in_channel
  type out_channel
  val stdin : Stdlib.in_channel
  val stdout : Stdlib.out_channel
  val stderr : Stdlib.out_channel
  val print_char : char -> unit
  val print_string : string -> unit
  val print_int : int -> unit
  val print_float : float -> unit
  val print_endline : string -> unit
  val print_newline : unit -> unit
  val prerr_char : char -> unit
  val prerr_string : string -> unit
  val prerr_int : int -> unit
  val prerr_float : float -> unit
  val prerr_endline : string -> unit
  val prerr_newline : unit -> unit
  val read_line : unit -> string
  val read_int : unit -> int
  val read_float : unit -> float
  type open_flag =
      Open_rdonly
    | Open_wronly
    | Open_append
    | Open_creat
    | Open_trunc
    | Open_excl
    | Open_binary
    | Open_text
    | Open_nonblock
  val open_out : string -> Stdlib.out_channel
  val open_out_bin : string -> Stdlib.out_channel
  val open_out_gen :
    Stdlib.open_flag list -> int -> string -> Stdlib.out_channel
  val flush : Stdlib.out_channel -> unit
  val flush_all : unit -> unit
  val output_char : Stdlib.out_channel -> char -> unit
  val output_string : Stdlib.out_channel -> string -> unit
  val output : Stdlib.out_channel -> string -> int -> int -> unit
  val output_byte : Stdlib.out_channel -> int -> unit
  val output_binary_int : Stdlib.out_channel -> int -> unit
  val output_value : Stdlib.out_channel -> '-> unit
  val seek_out : Stdlib.out_channel -> int -> unit
  val pos_out : Stdlib.out_channel -> int
  val out_channel_length : Stdlib.out_channel -> int
  val close_out : Stdlib.out_channel -> unit
  val close_out_noerr : Stdlib.out_channel -> unit
  val set_binary_mode_out : Stdlib.out_channel -> bool -> unit
  val open_in : string -> Stdlib.in_channel
  val open_in_bin : string -> Stdlib.in_channel
  val open_in_gen :
    Stdlib.open_flag list -> int -> string -> Stdlib.in_channel
  val input_char : Stdlib.in_channel -> char
  val input_line : Stdlib.in_channel -> string
  val input : Stdlib.in_channel -> string -> int -> int -> int
  val really_input : Stdlib.in_channel -> string -> int -> int -> unit
  val input_byte : Stdlib.in_channel -> int
  val input_binary_int : Stdlib.in_channel -> int
  val input_value : Stdlib.in_channel -> 'a
  val seek_in : Stdlib.in_channel -> int -> unit
  val pos_in : Stdlib.in_channel -> int
  val in_channel_length : Stdlib.in_channel -> int
  val close_in : Stdlib.in_channel -> unit
  val close_in_noerr : Stdlib.in_channel -> unit
  val set_binary_mode_in : Stdlib.in_channel -> bool -> unit
  type 'a ref = { mutable contents : 'a; }
  val ref : '-> 'Stdlib.ref
  val ( ! ) : 'Stdlib.ref -> 'a
  val ( := ) : 'Stdlib.ref -> '-> unit
  val incr : int Stdlib.ref -> unit
  val decr : int Stdlib.ref -> unit
  type ('a, 'b, 'c, 'd) format4
  type ('a, 'b, 'c) format = ('a, 'b, 'c, 'c) Stdlib.format4
  val string_of_format : ('a, 'b, 'c, 'd) Stdlib.format4 -> string
  val format_of_string :
    ('a, 'b, 'c, 'd) Stdlib.format4 -> ('a, 'b, 'c, 'd) Stdlib.format4
  val ( ^^ ) :
    ('a, 'b, 'c, 'd) Stdlib.format4 ->
    ('d, 'b, 'c, 'e) Stdlib.format4 -> ('a, 'b, 'c, 'e) Stdlib.format4
  val exit : int -> 'a
  val at_exit : (unit -> unit) -> unit
  val valid_float_lexem : string -> string
  val unsafe_really_input : Stdlib.in_channel -> string -> int -> int -> unit
  val do_at_exit : unit -> unit
end