anchor.diff:  %%      where Entry is the most recent entry such that DClock =< Clock.
   %%
   %%      In addition, return IsFirst, indicating if the selected entry was the newest entry
  -%%      in the orddict.
  +%%      in the orddict. Returns undefined if there's no appropriate entry in the dict.
   %%
   -spec get_smaller(vectorclock(), vector_orddict()) -> {{vectorclock(), term()}, boolean()}
                                                       | undefined.
  
positive.code:             get_smaller_internal(Rest, Vector, false)
      end.
  
  -spec get_smaller_from_id(term(), clock_time(), vector_orddict()) -> undefined | {vectorclock(), term()}.
  get_smaller_from_id(_Id, _Time, {_List, Size}) when Size == 0 ->
    undefined;
  get_smaller_from_id(Id, Time, {List, _Size}) ->
    get_smaller_from_id_internal(Id, Time, List).
  
  -spec get_smaller_from_id_internal(term(), clock_time(), [{vectorclock, term()}, ...]) -> undefined | {vectorclock(), term()}.
  get_smaller_from_id_internal(_Id, _Time, []) ->
    undefined;
  get_smaller_from_id_internal(Id, Time, [{Clock, Val}|Rest]) ->
  
negative.code: %% @doc The vector orddict is an ordered dictionary used to store materialized snapshots whose order
  %%      is described by vectorclocks.
  %%      Note that the elements are stored in a sorted list going from big to small (left to right).
  -spec new() -> vector_orddict().
  new() ->
      {[], 0}.
  
  