sig
  type 'a t = 'Js.null_undefined
  external return : '-> 'Js_null_undefined.t = "%identity"
  external test : 'Js_null_undefined.t -> bool = "#is_nullable"
  external isNullable : 'Js_null_undefined.t -> bool = "#is_nullable"
  external null : 'Js_null_undefined.t = "#null"
  external undefined : 'Js_null_undefined.t = "#undefined"
  val bind :
    'Js_null_undefined.t -> ('-> 'b [@bs]) -> 'Js_null_undefined.t
  val iter : 'Js_null_undefined.t -> ('-> unit [@bs]) -> unit
  val fromOption : 'a option -> 'Js_null_undefined.t
  val from_opt : 'a option -> 'Js_null_undefined.t
  external toOption : 'Js_null_undefined.t -> 'a option
    = "#nullable_to_opt"
  external to_opt : 'Js_null_undefined.t -> 'a option = "#nullable_to_opt"
end