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