module S = Share
module Z = Bag
+IFDEF TYPE THEN
+
(* Internal functions *******************************************************)
let rec lref_map_bind f map b = match b with
let f w' u' = f (S.sh2 w w' u u' t Z.appl) in
let f w' = lref_map (f w') map u in
lref_map f map w
- | Z.Bind (a, l, b, u) ->
- let f b' u' = f (S.sh2 b b' u u' t (Z.bind a l)) in
+ | Z.Bind (y, l, b, u) ->
+ let f b' u' = f (S.sh2 b b' u u' t (Z.bind y l)) in
let f b' = lref_map (f b') map u in
lref_map_bind f map b
let subst f new_l old_l t =
let map i = if i = old_l then new_l else i in
if new_l = old_l then f t else lref_map f map t
+
+END