let leave_and_save_identifier_scope v = 
(*  prerr_endline "; *)
  let prev_name_table = pop scope_stack in
  v := Some (list_between !name_table prev_name_table);
  name_table := prev_name_table