OCaml compiler library : Lazy_backtrack

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