`Ivar_filler` is a reference to an ivar that allows one to `fill` the ivar, but not to read it. This allows the implementation to drop the reference to the ivar once it is full, which can be useful to avoid holding onto unused memory.

`type 'a t`````
`include sig ... end`
`val sexp_of_t : ('a ‑> Base.Sexp.t) ‑> 'a t ‑> Base.Sexp.t`
`include Core_kernel.Invariant.S1 with type a t := a t`
`type 'a t`````
`val invariant : 'a Base__.Invariant_intf.inv ‑> 'a t Base__.Invariant_intf.inv`
`val create : unit ‑> 'a t * 'a Async_kernel__.Deferred0.t`
`val is_empty : 'a t ‑> bool`
`val fill : 'a t ‑> 'a ‑> unit`