anchor.diff:      end.
   
   args2cp(Args) when is_list(Args)->
  -    case catch lists:foldl(fun check_arg/2, #checkpoint_args{}, Args) of
  -	{'EXIT', Reason} ->
  -	    {error, Reason};
  +    try lists:foldl(fun check_arg/2, #checkpoint_args{}, Args) of
   	Cp ->
   	    case check_tables(Cp) of
   		{error, Reason} ->
  
positive.code: 	 tm_retain/5,
  	 tm_enter_pending/1,
  	 tm_enter_pending/3,
  	 tm_exit_pending/1,
  	 convert_cp_record/1
  	]).
  
  %% Public interface
  
negative.code: 	    dbg_out("Checkpoint ~p (~p) started~n", [Name, self()]),
  	    proc_lib:init_ack(Cp2#checkpoint_args.supervisor, {ok, self()}),
  	    retainer_loop(Cp2)
      catch error:Reason -> %% system limit
  	    Msg = "Cannot create an ets table for pending transactions",
  	    Error = {error, {system_limit, Name, Msg, Reason}},
  	    proc_lib:init_ack(Cp#checkpoint_args.supervisor, Error)
      end.
      
  prepare_tab(Cp, R) ->
  