A Moption is a mutable option, like 'a option ref, but with a more efficient
implementation; in particular, set_some does not allocate.
include sig ... endval sexp_of_t : ('a ‑> Sexplib.Sexp.t) ‑> 'a t ‑> Sexplib.Sexp.tinclude Core_kernel__.Import.Invariant.S1 with type a t := a tval invariant : 'a Base__.Invariant_intf.inv ‑> 'a t Base__.Invariant_intf.invval create : Core_kernel__.Import.unit ‑> _ tval is_none : _ t ‑> Core_kernel__.Import.boolval is_some : _ t ‑> Core_kernel__.Import.boolval get : 'a t ‑> 'a Core_kernel__.Import.optionval get_some_exn : 'a t ‑> 'aval set : 'a t ‑> 'a Core_kernel__.Import.option ‑> Core_kernel__.Import.unitval set_none : _ t ‑> Core_kernel__.Import.unitval set_some : 'a t ‑> 'a ‑> Core_kernel__.Import.unit