sig
  type ('a, 'b) t
  type log
  val force : ('-> 'b) -> ('a, 'b) Misc.EnvLazy.t -> 'b
  val create : '-> ('a, 'b) Misc.EnvLazy.t
  val get_arg : ('a, 'b) Misc.EnvLazy.t -> 'a option
  val create_forced : '-> ('a, 'b) Misc.EnvLazy.t
  val create_failed : exn -> ('a, 'b) Misc.EnvLazy.t
  val log : unit -> Misc.EnvLazy.log
  val force_logged :
    Misc.EnvLazy.log ->
    ('-> ('b, 'c) Stdlib.result) ->
    ('a, ('b, 'c) Stdlib.result) Misc.EnvLazy.t -> ('b, 'c) Stdlib.result
  val backtrack : Misc.EnvLazy.log -> unit
end