Module Internals.StackContainer
Use container to store a point to the rule in stack, we use recursive module for that
type 'a tabletype 'b containertype ('b, 'a) elt= ('a, 'b) Types.pre_stack
val create : unit -> 'b containerval create_table : unit -> 'a tableval address : 'b container -> 'b Container.tagval eq : 'a container -> 'b container -> ('a, 'b) Container.eqval add : 'a table -> 'b container -> ('a, 'b) elt -> unitval find : 'a table -> 'b container -> ('a, 'b) eltval clear : 'a table -> unit
type 'a iter={f : b. ('a, 'b) elt -> unit;}
type ('a, 'c) fold={f : b. ('a, 'b) elt -> 'c -> 'c;}