# Module Force_once

    module Force_once: sig .. end

A "force_once" is a thunk that can only be forced once. Subsequent forces will raise an exception.

    type 'a t

A "force_once" is a thunk that can only be forced once. Subsequent forces will raise an exception.

    val create : (unit -> 'a) -> 'a t

`create f` creates a new force_once

    val force : 'a t -> 'a

`force t` runs the thunk if it hadn't already been forced, else it raises an exception.

    val ignore : unit -> unit t

`ignore ()` = create (fun () -> ())

    val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t