let get_fresh_name vi_list name = if not (is_in_vi_list name vi_list) then name else let n = ref 0 in while is_in_vi_list (name^"_"^(string_of_int !n)) vi_list do n:=!n+1 done; (name^"_"^(string_of_int !n))