anchor.diff:  
   -spec restore(Tables, File) -> {ok,  RestoredTabs}
   	when
  -		Tables :: atom() | [atom()],
  +		Tables :: Table | [Table],
  +		Table :: atom() | string(),
   		File :: string(),
   		RestoredTabs :: [atom()].
   %% @doc Restore the named table(s) from the backup in `File.BUPTMP'.
   %% 
  +restore(Table, File) when is_list(Table) ->
  +	restore(list_to_existing_atom(Table), File);
   restore(Table, File) when is_atom(Table) ->
   	restore([Table], File);
   restore(Tables, File) when is_list(Tables), is_list(File) ->
  
positive.code: 
  -spec insert(Table, Number, Value) -> Result
  	when
  		Table :: atom(),
  		Number :: string(),
  		Value :: term(),
  		Result :: {ok, #gtt{}}.
  %% @doc Insert a table entry.
  %% 
  insert(Table, Number, Value) 
  		when is_atom(Table),
  		is_list(Number) ->
  	F = fun() -> insert(Table, Number, Value, []) end,
  	case mnesia:transaction(F) of
  		{atomic, {_NumWrites, Gtt}} ->
  
negative.code: 	
  -spec lookup_first(Table, Number) -> Value
  	when
  		Table :: atom() | string(),
  		Number :: string(),
  		Value :: term().
  %% @doc Lookup the value of the first matching table entry.
  %% 
  lookup_first(Table, Number) when is_list(Table) ->
  	lookup_first(list_to_existing_atom(Table), Number);
  lookup_first(Table, [Digit | Rest]) when is_atom(Table) ->
  	Fun1 = fun(F, [H|T], [#gtt{num = Prefix, value = undefined}]) ->
  				F(F, T, mnesia:read(Table, Prefix ++ [H], read));
  