anchor.diff:           put_commit_r/3, put_commit_r/4,
            get/2, get/3,
            get_r/2, get_r/3,
  -         update/3, update/4,
  +         update/3, update/4, update/5,
            truncate/0, truncate/1,
            delete_database/1,
            cursor_open/1, cursor_next/0, cursor_prev/0, cursor_current/0, cursor_close/0]).
  
positive.code: %%    Key = term()
  %%    Fun = function()
  %%
  %% @equiv update(Db, Key, Fun, undefined)
  %% @see update/4
  %% @end
  %%--------------------------------------------------------------------
  -spec update(Db :: db(), Key :: db_key(), Fun :: db_update_fun()) ->
      {ok, db_value()} | db_error().
  
  update(Db, Key, Fun) ->
      update(Db, Key, Fun, undefined).
  
  
  %%--------------------------------------------------------------------
  
negative.code:             put_r(Db, Key, NewValue),
              NewValue
          end,
      transaction(F, infinity, Opts).
  
  
  %%--------------------------------------------------------------------
  