# Module Misc.EnvLazy

    module EnvLazy: sig .. end

    type ('a, 'b) t

    type log

    val force : ('a -> 'b) -> ('a, 'b) t -> 'b

    val create : 'a -> ('a, 'b) t

    val get_arg : ('a, 'b) t -> 'a option

    val create_forced : 'b -> ('a, 'b) t

    val create_failed : exn -> ('a, 'b) t

    val log : unit -> log

    val force_logged : log ->
           ('a -> 'b option) -> ('a, 'b option) t -> 'b option

    val backtrack : log -> unit