-and exp_bind c frm = function
- | B.Abst (a, w) ->
- F.fprintf frm "<Abst%a>%a</Abst>" X.old_name a (exp_boxed c) w
- | B.Abbr (a, v) ->
- F.fprintf frm "<Abbr%a/>%a</Abbr>" X.old_name a (exp_boxed c) v
- | B.Void a ->
- F.fprintf frm "<Void%a/>" X.old_name a
+and exp_bind e a b out tab = match b with
+ | B.Abst w ->
+ let attrs = [X.name a; X.mark a] in
+ X.tag X.abst attrs ~contents:(exp_term e w) out tab
+ | B.Abbr v ->
+ let attrs = [X.name a; X.mark a] in
+ X.tag X.abbr attrs ~contents:(exp_term e v) out tab
+ | B.Void ->
+ let attrs = [X.name a; X.mark a] in
+ X.tag X.void attrs out tab