`sig val version : string val count : int React.signal val keywords : Set.Make(String).t Pervasives.ref val add_keyword : string -> unit val require : string list -> unit type ui = Console | Emacs val get_ui : unit -> UTop.ui val hide_reserved : bool React.signal val get_hide_reserved : unit -> bool val set_hide_reserved : bool -> unit val topfind_verbose : bool React.signal val get_topfind_verbose : unit -> bool val set_topfind_verbose : bool -> unit val topfind_log : string list React.signal val show_box : bool React.signal val get_show_box : unit -> bool val set_show_box : bool -> unit val set_margin_function : (LTerm_geom.size -> int option) -> unit type syntax = Normal | Camlp4o | Camlp4r val syntax : UTop.syntax React.signal val get_syntax : unit -> UTop.syntax val set_syntax : UTop.syntax -> unit val phrase_terminator : string React.signal val get_phrase_terminator : unit -> string val set_phrase_terminator : string -> unit val auto_run_lwt : bool React.signal val get_auto_run_lwt : unit -> bool val set_auto_run_lwt : bool -> unit val auto_run_async : bool React.signal val get_auto_run_async : unit -> bool val set_auto_run_async : bool -> unit val end_and_accept_current_phrase : LTerm_read_line.action val external_editor : string React.signal val set_external_editor : string -> unit val get_external_editor : unit -> string val history : LTerm_history.t val history_file_name : string option Pervasives.ref val history_file_max_size : int option Pervasives.ref val history_file_max_entries : int option Pervasives.ref type profile = Dark | Light val profile : UTop.profile React.signal val set_profile : UTop.profile -> unit val size : LTerm_geom.size React.signal val key_sequence : LTerm_key.t list React.signal val time : float Pervasives.ref val prompt : LTerm_text.t React.signal Pervasives.ref val new_command_hooks : (unit -> unit) Lwt_sequence.t val at_new_command : (unit -> unit) -> unit type location = int * int type 'a result = Value of 'a | Error of UTop.location list * string exception Need_more val parse_use_file : (string -> bool -> Parsetree.toplevel_phrase list UTop.result) Pervasives.ref val parse_use_file_default : string -> bool -> Parsetree.toplevel_phrase list UTop.result val parse_toplevel_phrase : (string -> bool -> Parsetree.toplevel_phrase UTop.result) Pervasives.ref val parse_toplevel_phrase_default : string -> bool -> Parsetree.toplevel_phrase UTop.result val parse_default : (Lexing.lexbuf -> 'a) -> string -> bool -> 'a UTop.result val input_name : string val lexbuf_of_string : bool Pervasives.ref -> string -> Lexing.lexbuf val get_message : (Format.formatter -> 'a -> unit) -> 'a -> string val get_ocaml_error_message : exn -> UTop.location * string val check_phrase : Parsetree.toplevel_phrase -> (UTop.location list * string) option val collect_formatters : Buffer.t -> Format.formatter list -> (unit -> 'a) -> 'a val discard_formatters : Format.formatter list -> (unit -> 'a) -> 'a val split_words : string -> string list val load_path : string list Pervasives.ref val prompt_continue : LTerm_text.t React.signal Pervasives.ref val prompt_comment : LTerm_text.t React.signal Pervasives.ref val smart_accept : bool Pervasives.ref val new_prompt_hooks : (unit -> unit) Lwt_sequence.t val at_new_prompt : (unit -> unit) -> unit end`