method alpha : 'a. 'a printer -> 'a printer = fun pp fmt data ->
if alpha then pp fmt data
else
let mark = LogicId.mark space in
alpha <- true ;
try
pp fmt data ;
alpha <- false ;
LogicId.unmark space mark ;
with error ->
alpha <- false ;
LogicId.unmark space mark ;
raise error