Module Symex.Producer

type 'a t = 'a SYMEX.Producer.t
val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
val map : 'a t -> ('a -> 'b) -> 'b t
val all : ('a -> 'b t) -> 'a list -> 'b list t
val fold_list : init:'a -> f:('a -> 'elem -> 'a t) -> 'elem list -> 'a t
val lift : 'a t -> 'a t
val vanish : unit -> 'a t
val apply_subst : ((Value.Expr.t -> 'a Value.t) -> 'syn -> 'sem) -> 'syn -> 'sem t
val produce_pure : Value.Expr.t -> unit t
val run : subst:Value.Expr.Subst.t -> 'a t -> ('a * Value.Expr.Subst.t) t
val run_identity : 'a t -> 'a t
module Syntax : sig ... end