Up
Module
Bind
Signature
type
('a, 'b) t = ('a, 'b)
Types.Bind.t
= {
main
: 'b
Types.Node.t
;
mutable
f
: 'a -> 'b
Types.Node.t
;
lhs
: 'a
Types.Node.t
;
lhs_change
: unit
Types.Node.t
;
mutable
rhs
: 'b
Types.Node.t
Uopt.t
;
mutable
rhs_scope
:
Types.Scope.t
;
mutable
all_nodes_created_on_rhs
:
Types.Packed_node.t
Uopt.t
;
}
val
invariant : 'a
Core_kernel.Invariant_intf.inv
-> 'b
Core_kernel.Invariant_intf.inv
-> ('a, 'b)
t
Core_kernel.Invariant_intf.inv
val
sexp_of_t : ('a ->
Sexplib.Sexp.t
) -> ('b ->
Sexplib.Sexp.t
) -> ('a, 'b)
t
->
Sexplib.Sexp.t
val
is_valid : ('a, 'b)
t
-> bool
val
iter_nodes_created_on_rhs : ('a, 'b)
t
-> f:(
Types.Packed_node.t
-> unit) -> unit