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