anchor.diff:  %% <li>Like sets, removals will be processed before additions and
   %% updates in Riak. Removals performed without a context may result in
   %% failure.</li>
  -%% <li>Adding or updating an entry followed by removing that same
  +%% <li> Updating an entry followed by removing that same
   %% entry will result in no operation being recorded. Likewise,
  -%% removing an entry followed by adding or updating that entry will
  +%% removing an entry followed by updating that entry will
   %% cancel the removal operation.</li>
   %% </ul>
   %% @end
  
positive.code: 
  
  %% ==== Operations ====
  
  %% @doc Adds a key to the map, inserting the empty value for its type.
  %% Adding a key that already exists in the map has no effect. If the
  %% key has been previously removed from the map, the removal will be
  %% discarded, but no explicit add will be recorded.
  -spec add(key(), map()) -> map().
  add(Key, #map{value=V, updates=U, adds=A, removes=R}=M) ->
      case {orddict:is_key(Key, U), ordsets:is_element(Key, R)} of
          %% It is already in the updates, do nothing.
          {true, _} ->
              M;
          %% It was previously removed, clear that removal.
          {false, true} ->
              M#map{removes=ordsets:del_element(Key, R)};
          %% It is brand new, record the add and store a value in the
          %% updates. If it was in the original value, initialize it
          %% with that.
          {false, false} ->
              Value = find_or_new(Key, V),
              M#map{adds=ordsets:add_element(Key, A),
                    updates=orddict:store(Key, Value, U)}
      end.
  
  %% @doc Removes a key and its value from the map. Removing a key that
  %% does not exist simply records a remove operation. Removing a key
  
negative.code: %% serialized into `register' fields if last-write-wins semantics are
  %% sufficient.</li>
  %% <li>Like the other eventually-consistent types, updates are not
  %% applied to local state. Instead, removals, and
  %% modifications are captured for later application by Riak. Use
  %% `dirty_value/1' to access a local "view" of the updates.</li>
  %% <li>You may not "store" values in a map.
  %%  Existing or non-existing entries can be modified
  %% using `update/3', which is analogous to `dict:update/3'. If the
  %% entry is not present, it will be populated with a new value before
  %% the update function is applied. The update function will receive
  