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 option) -> ('a, 'b option) Misc.EnvLazy.t -> 'b option
  val backtrack : Misc.EnvLazy.log -> unit
end