let rec fresh_state_name () =
  s.counter <- s.counter + 1;
  let n = Name.of_string ("s" ^ (string_of_int s.counter)) in
  try
    let _ = Symtab.lookup n s.symtab in  (* make sure state name is really fresh. *)
    fresh_state_name ()
  with
      Not_found -> 
        n