method binder (x:VAR.t) (pp:binder -> unit) =
    let xid = LogicId.push space (VAR.basename x) in
    try
      pp (x,xid) ;
      if not alpha then LogicId.pop space xid ;
    with error ->
      if not alpha then LogicId.pop space xid ;
      raise error