sig
type 'a t = 'a Js.null
external return : 'a -> 'a Js_null.t = "%identity"
external test : 'a Js_null.t -> bool = "#is_nil"
external empty : 'a Js_null.t = "null" "BS-EXTERNAL"
val bind : 'a Js_null.t -> ('a -> 'b [@bs]) -> 'b Js_null.t
val iter : 'a Js_null.t -> ('a -> unit [@bs]) -> unit
val from_opt : 'a option -> 'a Js_null.t
external to_opt : 'a Js_null.t -> 'a option = "#null_to_opt"
end