anchor.diff:  recursive_remove(Vertex, [H | T], L) ->
       recursive_remove(Vertex, T, L ++ [H]).
   
  +%% @doc given an rga, this mehtod looks for all tombstones and removes them, returning the tombstone free rga.
   purge_tombstones(Rga) ->
       lists:foldl(fun({Value, TimeStamp}, L) ->
           case Value == deleted of
  
positive.code: new() ->
      [].
  
  -spec update(rga_op(), rga()) -> rga_result().
  update({addRight, Vertex, Value}, Rga) ->
      recursive_insert(Vertex, Value, Rga, []);
  update({remove, Vertex}, Rga) ->
      recursive_remove(Vertex, Rga, []).
  
  recursive_insert(_, Value, [], []) ->
      Inserted = {Value, os:timestamp()},
      {ok, Inserted, [Inserted]};
  
negative.code: add_element(Insert, [], L) ->
      {ok, Insert, L ++ [Insert]}.
  
  %% Private
  %% @doc recursively looks for the Vertex to be removed. Once it is found, it is marked as "deleted", erasing its value.
  recursive_remove(_, [], L) ->
      L;
  recursive_remove({Value, TimeStamp}, [{Value, TimeStamp} | T], L) ->
  