method with_binder : 'a. binder -> 'a printer -> 'a printer =
fun (x,xid) pp fmt data ->
let sigma0 = sigma in
sigma <- VMAP.add x xid sigma ;
try
pp fmt data ;
sigma <- sigma0 ;
with error ->
sigma <- sigma0 ;
raise error