let rec pp fmt a =
  match a with
    | Var(x, hsh) -> 
        Var.pp fmt x;
        pp_hash fmt hsh
    | App(f, l, hsh) ->
        Sym.pp pp fmt (f, l);
        pp_hash fmt hsh

and pp_hash fmt hsh =
  if !debug then Format.fprintf fmt "{%d}" hsh

and debug = ref false