Module Monadic.Delayed

type 'a t
val resolve : curr_pc:Pc.t -> 'a t -> 'a Branch.t list
val return : ?learned:Gillian.Gil_syntax.Formula.t list -> ?learned_types:(string * Gillian.Gil_syntax.Type.t) list -> 'a -> 'a t
val resolve_loc : Gillian.Gil_syntax.Expr.t -> string option t
val check_sat : Gillian.Gil_syntax.Formula.t -> bool t
val bind : 'a t -> ('a -> 'b t) -> 'b t
val map : 'a t -> ('a -> 'b) -> 'b t
val branches : 'a t list -> 'a t
val all : 'a t list -> 'a list t
val vanish : unit -> 'a t
val if_sure : Gillian.Gil_syntax.Formula.t -> then_:(unit -> 'a t) -> else_:(unit -> 'a t) -> 'a t
val branch_entailment : (Gillian.Gil_syntax.Formula.t * (unit -> 'a t)) list -> 'a t
val leak_pc_copy : unit -> Engine.Gpc.t t
val branch_on : Gillian.Gil_syntax.Formula.t -> then_:(unit -> 'a t) -> else_:(unit -> 'a t) -> 'a t
module Syntax : sig ... end