sig
  module String :
    sig
      val uppercase_ascii : string -> string
      val capitalize_ascii : string -> string
      val uncapitalize_ascii : string -> string
      val lowercase_ascii : string -> string
      val split_on_char : char -> string -> string list
    end
  module Char :
    sig
      val uppercase_ascii : char -> char
      val lowercase_ascii : char -> char
    end
  module Stack :
    sig val fold : ('-> '-> 'a) -> '-> 'Stdlib.Stack.t -> 'end
  module List :
    sig
      val nth_opt : 'a list -> int -> 'a option
      val find_opt : ('-> bool) -> 'a list -> 'a option
      val assoc_opt : '-> ('a * 'b) list -> 'b option
      val assq_opt : '-> ('a * 'b) list -> 'b option
    end
  module Stdlib :
    sig
      val compare : '-> '-> int
      val succ : int -> int
      val incr : int Stdlib.ref -> unit
      val min : '-> '-> 'a
      val max : '-> '-> 'a
    end
  module Dynlink : sig val init : unit -> unit end
  module Format :
    sig
      type stag
      val string_of_stag : Transitioning.Format.stag -> string
      val stag_of_string : string -> Transitioning.Format.stag
      type formatter_stag_functions = {
        mark_open_stag : Transitioning.Format.stag -> string;
        mark_close_stag : Transitioning.Format.stag -> string;
        print_open_stag : Transitioning.Format.stag -> unit;
        print_close_stag : Transitioning.Format.stag -> unit;
      }
      val pp_set_formatter_stag_functions :
        Stdlib.Format.formatter ->
        Transitioning.Format.formatter_stag_functions -> unit
      val pp_get_formatter_stag_functions :
        Stdlib.Format.formatter ->
        unit -> Transitioning.Format.formatter_stag_functions
      val pp_open_stag :
        Stdlib.Format.formatter -> Transitioning.Format.stag -> unit
      val pp_close_stag : Stdlib.Format.formatter -> unit -> unit
    end
  module Q : sig val to_float : Q.t -> float end
end