sig
  val nop : '-> unit
  external id : '-> 'a = "%identity"
  val adapt_filename : string -> string
  val max_cpt : int -> int -> int
  val number_to_color : int -> int
  exception Unregistered_function of string
  val mk_labeled_fun : string -> 'a
  val mk_fun : string -> ('-> 'b) Pervasives.ref
  val ( $ ) : ('-> 'c) -> ('-> 'b) -> '-> 'c
  val swap : ('-> '-> 'c) -> '-> '-> 'c
  val iter_uncurry2 :
    (('-> '-> unit) -> '-> unit) -> ('a * '-> unit) -> '-> unit
  val as_singleton : 'a list -> 'a
  val last : 'a list -> 'a
  val filter_out : ('-> bool) -> 'a list -> 'a list
  val replace : ('-> '-> bool) -> '-> 'a list -> 'a list
  val filter_map : ('-> bool) -> ('-> 'b) -> 'a list -> 'b list
  val filter_map' : ('-> 'b) -> ('-> bool) -> 'a list -> 'b list
  val product_fold : ('-> '-> '-> 'a) -> '-> 'b list -> 'c list -> 'a
  val product : ('-> '-> 'c) -> 'a list -> 'b list -> 'c list
  val find_index : ('-> bool) -> 'a list -> int
  val list_compare : ('-> '-> int) -> 'a list -> 'a list -> int
  val list_of_opt : 'a option -> 'a list
  val opt_of_list : 'a list -> 'a option
  val find_opt : ('-> 'b option) -> 'a list -> 'b
  val iteri : (int -> '-> unit) -> 'a list -> unit
  val mapi : (int -> '-> 'b) -> 'a list -> 'b list
  val has_some : 'a option -> bool
  val may : ('-> unit) -> 'a option -> unit
  val opt_conv : '-> 'a option -> 'a
  val may_map : ('-> 'b) -> ?dft:'-> 'a option -> 'b
  val opt_map : ('-> 'b) -> 'a option -> 'b option
  val opt_fold : ('-> '-> 'b) -> 'a option -> '-> 'b
  val merge_opt :
    ('-> '-> '-> 'b) -> '-> 'b option -> 'b option -> 'b option
  val opt_bind : ('-> 'b option) -> 'a option -> 'b option
  val opt_filter : ('-> bool) -> 'a option -> 'a option
  val the : 'a option -> 'a
  val find_or_none : ('-> 'b) -> '-> 'b option
  val opt_equal : ('-> '-> bool) -> 'a option -> 'a option -> bool
  val opt_compare : ('-> '-> int) -> 'a option -> 'a option -> int
  val xor : bool -> bool -> bool
  val string_prefix : ?strict:bool -> string -> string -> bool
  val string_del_prefix : ?strict:bool -> string -> string -> string option
  val string_split : string -> int -> string * string
  val make_unique_name :
    (string -> bool) -> ?sep:string -> ?start:int -> string -> int * string
  external getperfcount : unit -> int = "getperfcount" "noalloc"
  external getperfcount1024 : unit -> int = "getperfcount1024" "noalloc"
  val time : ?msg:string -> ('-> 'b) -> '-> 'b
  val time1024 : ?msg:string -> ('-> 'b) -> '-> 'b
  external address_of_value : '-> int = "address_of_value" "noalloc"
  val try_finally : finally:(unit -> unit) -> ('-> 'b) -> '-> 'b
  val cleanup_at_exit : string -> unit
  exception Temp_file_error of string
  val temp_file_cleanup_at_exit : ?debug:bool -> string -> string -> string
  val temp_dir_cleanup_at_exit : ?debug:bool -> string -> string
  val safe_remove : string -> unit
  val safe_remove_dir : string -> unit
  val terminate_process : int -> unit
  val usleep : int -> unit
  external compare_basic : '-> '-> int = "%compare"
  val pretty_position : Format.formatter -> Lexing.position -> unit
end