sig
module Internal = Js_internal
type +'a t
type +'a null
type +'a undefined
type +'a null_undefined
type boolean
type (+'a, +'e) promise
external true_ : Js.boolean = "true" "BS-EXTERNAL"
external false_ : Js.boolean = "false" "BS-EXTERNAL"
external null : 'a Js.null = "" "BS-EXTERNAL"
external undefined : 'a Js.undefined = "" "BS-EXTERNAL"
external to_bool : Js.boolean -> bool = "#boolean_to_bool"
external typeof : 'a -> string = "#typeof"
external log : 'a -> unit = "log" "BS-EXTERNAL"
external log2 : 'a -> 'b -> unit = "log" "BS-EXTERNAL"
external log3 : 'a -> 'b -> 'c -> unit = "log" "BS-EXTERNAL"
external log4 : 'a -> 'b -> 'c -> 'd -> unit = "log" "BS-EXTERNAL"
external unsafe_lt : 'a -> 'a -> bool = "#unsafe_lt"
external unsafe_le : 'a -> 'a -> bool = "#unsafe_le"
external unsafe_gt : 'a -> 'a -> bool = "#unsafe_gt"
external unsafe_ge : 'a -> 'a -> bool = "#unsafe_ge"
module Null = Js_null
module Undefined = Js_undefined
module Null_undefined = Js_null_undefined
module Exn = Js_exn
module Array = Js_array
module String = Js_string
module Boolean = Js_boolean
module Re = Js_re
module Promise = Js_promise
module Date = Js_date
module Dict = Js_dict
module Global = Js_global
module Json = Js_json
module Math = Js_math
module Obj = Js_obj
module Typed_array = Js_typed_array
module Types = Js_types
module Float = Js_float
module Int = Js_int
module Option = Js_option
module Result = Js_result
module List = Js_list
module Vector = Js_vector
end