sig type 'a t = 'a Force_once.t val create : (unit -> 'a) -> 'a t val force : 'a t -> 'a val ignore : unit -> unit t val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t end