sig
  val map_opt : ('-> 'b) -> 'a option -> 'b option
  val chop_n_char : int -> string -> string
  val my_int_of_string : string -> int
  val list_remove_doubles : ?pred:('-> '-> bool) -> 'a list -> 'a list
  val add_shortcut :
    < connect : < destroy : callback:(unit -> unit) -> GtkSignal.id; .. >;
      event : GObj.event_ops; get_oid : int; .. > ->
    (string * ((unit -> bool) option * (unit -> unit))) list ->
    (Okey.modifier list * Gdk.keysym) * string -> unit
  val file_of_string : file:string -> string -> unit
  val select_in_list :
    ?ok:string ->
    ?cancel:string ->
    ?allow_empty:bool ->
    ?value_in_list:bool ->
    title:string -> choices:string list -> string -> string option
  val remove_char : string -> char -> string
  val treat_gtk_events : unit -> unit
  val get_wm_window_position_offset : unit -> int * int
  val subdirs : string -> string list
  val line_of_char : string -> int -> int
  val replace_in_string : pat:string -> subs:string -> s:string -> string
  val escape_menu_label : string -> string
  val utf8_index_of_char : string -> int -> int
  val utf8_char_of_index : string -> int -> int
  val utf8_string_length : string -> int
  val utf8_char_of_code : int -> string
end