sig
exception Bug of string
exception Finally of exn * exn
exception Validation_error of string list
exception Unimplemented of string
type decimal = float
val sexp_of_decimal : decimal -> Sexplib.Sexp.t
val decimal_of_sexp : Sexplib.Sexp.t -> decimal
val bin_size_decimal : decimal Bin_prot.Size.sizer
val bin_write_decimal : decimal Bin_prot.Write_ml.writer
val bin_write_decimal_ : decimal Bin_prot.Unsafe_write_c.writer
val bin_writer_decimal : decimal Bin_prot.Type_class.writer
val bin_read_decimal : decimal Bin_prot.Read_ml.reader
val bin_read_decimal_ : decimal Bin_prot.Unsafe_read_c.reader
val bin_read_decimal__ : (int -> decimal) Bin_prot.Unsafe_read_c.reader
val bin_reader_decimal : decimal Bin_prot.Type_class.reader
val bin_decimal : decimal Bin_prot.Type_class.t
type 'a set = 'a PSet.t
type ('a, 'b) map = ('a, 'b) PMap.t
type ('a, 'b) result = ('a, 'b) Result.t = Ok of 'a | Error of 'b
type 'a bound = 'a Common.bound = Incl of 'a | Excl of 'a | Unbounded
type passfail = Common.passfail = Pass | Fail of string
type immutable = Common.immutable
val bin_size_immutable : immutable Bin_prot.Size.sizer
val bin_write_immutable : immutable Bin_prot.Write_ml.writer
val bin_write_immutable_ : immutable Bin_prot.Unsafe_write_c.writer
val bin_writer_immutable : immutable Bin_prot.Type_class.writer
val bin_read_immutable : immutable Bin_prot.Read_ml.reader
val bin_read_immutable_ : immutable Bin_prot.Unsafe_read_c.reader
val bin_read_immutable__ : (int -> immutable) Bin_prot.Unsafe_read_c.reader
val bin_reader_immutable : immutable Bin_prot.Type_class.reader
val bin_immutable : immutable Bin_prot.Type_class.t
val sexp_of_immutable : immutable -> Sexplib.Sexp.t
val immutable_of_sexp : Sexplib.Sexp.t -> immutable
type read_only = Common.read_only
val bin_size_read_only : read_only Bin_prot.Size.sizer
val bin_write_read_only : read_only Bin_prot.Write_ml.writer
val bin_write_read_only_ : read_only Bin_prot.Unsafe_write_c.writer
val bin_writer_read_only : read_only Bin_prot.Type_class.writer
val bin_read_read_only : read_only Bin_prot.Read_ml.reader
val bin_read_read_only_ : read_only Bin_prot.Unsafe_read_c.reader
val bin_read_read_only__ : (int -> read_only) Bin_prot.Unsafe_read_c.reader
val bin_reader_read_only : read_only Bin_prot.Type_class.reader
val bin_read_only : read_only Bin_prot.Type_class.t
val sexp_of_read_only : read_only -> Sexplib.Sexp.t
val read_only_of_sexp : Sexplib.Sexp.t -> read_only
type read_write = Common.read_write
val bin_size_read_write : read_write Bin_prot.Size.sizer
val bin_write_read_write : read_write Bin_prot.Write_ml.writer
val bin_write_read_write_ : read_write Bin_prot.Unsafe_write_c.writer
val bin_writer_read_write : read_write Bin_prot.Type_class.writer
val bin_read_read_write : read_write Bin_prot.Read_ml.reader
val bin_read_read_write_ : read_write Bin_prot.Unsafe_read_c.reader
val bin_read_read_write__ :
(int -> read_write) Bin_prot.Unsafe_read_c.reader
val bin_reader_read_write : read_write Bin_prot.Type_class.reader
val bin_read_write : read_write Bin_prot.Type_class.t
val sexp_of_read_write : read_write -> Sexplib.Sexp.t
val read_write_of_sexp : Sexplib.Sexp.t -> read_write
type write_only = Common.write_only
val bin_size_write_only : write_only Bin_prot.Size.sizer
val bin_write_write_only : write_only Bin_prot.Write_ml.writer
val bin_write_write_only_ : write_only Bin_prot.Unsafe_write_c.writer
val bin_writer_write_only : write_only Bin_prot.Type_class.writer
val bin_read_write_only : write_only Bin_prot.Read_ml.reader
val bin_read_write_only_ : write_only Bin_prot.Unsafe_read_c.reader
val bin_read_write_only__ :
(int -> write_only) Bin_prot.Unsafe_read_c.reader
val bin_reader_write_only : write_only Bin_prot.Type_class.reader
val bin_write_only : write_only Bin_prot.Type_class.t
val sexp_of_write_only : write_only -> Sexplib.Sexp.t
val write_only_of_sexp : Sexplib.Sexp.t -> write_only
val ( % ) : int -> int -> int
val ( /% ) : int -> int -> int
val protectx : f:('a -> 'b) -> 'a -> finally:('a -> unit) -> 'b
val protect : f:(unit -> 'a) -> finally:(unit -> unit) -> 'a
val critical_section : Mutex.t -> f:(unit -> 'a) -> 'a
val read_wrap : ?binary:bool -> f:(in_channel -> 'a) -> string -> 'a
val write_wrap : ?binary:bool -> f:(out_channel -> 'a) -> string -> 'a
val input_lines : ?fix_win_eol:bool -> in_channel -> string list
val fst3 : 'a * 'b * 'c -> 'a
val snd3 : 'a * 'b * 'c -> 'b
val trd3 : 'a * 'b * 'c -> 'c
val opt_map : ('a -> 'b) -> 'a option -> 'b option
val may : ('a -> unit) -> 'a option -> unit
val uw : 'a option -> 'a
val uw_default : 'a -> 'a option -> 'a
val forever : (unit -> unit) -> exn
external ident : 'a -> 'a = "%identity"
val ascending : 'a -> 'a -> int
val descending : 'a -> 'a -> int
val ( |! ) : 'a -> ('a -> 'b) -> 'b
val ( ||> ) : ('a -> 'b) -> ('b -> 'c) -> 'a -> 'c
val ( <|| ) : ('a -> 'b) -> ('c -> 'a) -> 'c -> 'b
val ( ^/ ) : string -> string -> string
val failwithf : ('a, unit, string, unit -> 'b) format4 -> 'a
val invalid_argf : ('a, unit, string, unit -> 'b) format4 -> 'a
val register_pretty_printer : string -> unit
val register_exn_converter : (exn -> string option) -> unit
val exn_to_string : exn -> string
val sexp_of_exn : exn -> Sexplib.Sexp.t
end