Module Tree_block.Tree

type t = (MemVal.t, sint) tree
val pp : Stdlib.Format.formatter -> (MemVal.t, 'a Sptr.DecayMapMonad.Value.t) tree -> unit
val make : node:'a Soteria__Sym_states__Tree_block.node -> range:('b * 'b) -> ?children: (('a, 'b) Soteria__Sym_states__Tree_block.tree * ('a, 'b) Soteria__Sym_states__Tree_block.tree) -> unit -> ('a, 'b) Soteria__Sym_states__Tree_block.tree
val is_empty : ('a, 'b) tree -> bool
val not_owned : ('a * 'a) -> ('b, 'a) Soteria__Sym_states__Tree_block.tree
val map_leaves : ('a, 'b) tree -> (('a, 'b) tree -> (('a, 'b) tree, 'c, 'd) Sptr.DecayMapMonad.Result.t) -> (('a, 'b) tree, 'c, 'd) Sptr.DecayMapMonad.Result.t
val iter_leaves_rev : ('a, 'b) tree -> (('a, 'b) tree -> unit) -> unit
val of_children_s : left:(MemVal.t, 'a) tree -> right:(MemVal.t, 'a) tree -> (MemVal.t, 'a) tree Sptr.DecayMapMonad.t
val of_children : 'a -> left:(MemVal.t, 'b) tree -> right:(MemVal.t, 'b) tree -> (MemVal.t, 'b) tree Sptr.DecayMapMonad.t
val with_children : ('a, 'b) tree -> left:('a, 'b) Soteria__Sym_states__Tree_block.tree -> right:('a, 'b) Soteria__Sym_states__Tree_block.tree -> ('a, 'b) tree Sptr.DecayMapMonad.t
val split : range:Range.t -> (MemVal.t, sint) tree -> (Node.t * t * t) Sptr.DecayMapMonad.t
val extract : t -> Range.t -> (t * t option) Sptr.DecayMapMonad.t
val add_to_the_right : (MemVal.t, sint) tree -> (MemVal.t, sint) tree -> t Sptr.DecayMapMonad.t
val add_to_the_left : (MemVal.t, sint) tree -> (MemVal.t, sint) tree -> t Sptr.DecayMapMonad.t
module Frame_range (M : sig ... end) : sig ... end
val (let+^) : 'a Sptr.DecayMapMonad.t -> ('a -> 'b) -> ('b, 'c, 'd) Soteria.Symex.Compo_res.t Sptr.DecayMapMonad.t
val frame_range : t -> replace_node: (t -> (t, 'b, 'c) Soteria.Symex.Compo_res.t Sptr.DecayMapMonad.t) -> rebuild_parent: ((MemVal.t, sint) tree -> left:t -> right:t -> (MemVal.t, sint) tree Sptr.DecayMapMonad.t) -> Range.t -> (t * t, 'b, 'c) Soteria.Symex.Compo_res.t Sptr.DecayMapMonad.t
val put_raw : t -> t -> (unit * t, 'a, 'b) Sptr.DecayMapMonad.Result.t
module Consumer_frame_range : sig ... end
module Producer_frame_range : sig ... end