let enter_merge_identifier_scope p =
(*   prerr_endline "; *)
  match !p with
    None -> failwith "enter_merge_identifier_scope: no scope bound"
  | Some l -> 
      p := None;
      push scope_stack !name_table;
      name_table := l @ !name_table