anchor.diff:  -export([mutate_put/2, mutate_get/1]).
   
   -callback mutate_put(Meta :: dict(), Value :: any(), ExposedMeta :: dict(), FullObject :: riak_object:riak_object(), BucketProps :: orddict:orddict()) -> {dict(), any(), dict()}.
  --callback mutate_get(FullObject :: riak_object:riak_object()) -> riak_object:riak_object().
  +-callback mutate_get(FullObject :: riak_object:riak_object()) -> riak_object:riak_object() | 'notfound'.
   
   -define(DEFAULT_PRIORITY, 0).
   
  +%% @doc Register the given module as a mutator with the default priority of 0.
  +%% @see register/2
  +-spec register(Module :: atom()) -> 'ok'.
   register(Module) ->
       ?MODULE:register(Module, ?DEFAULT_PRIORITY).
   
  +%% @doc Register a module as a mutator with the given priority. Modules with
  +%% equal priority are done in sort sort (alphabetical) order. A module
  +%% can only be registered once.
  +-spec register(Module :: atom(), Priority :: term()) -> 'ok'.
   register(Module, Priority) ->
       Modifier = fun
           (undefined) ->
  
positive.code:             mutate_get(Object2, Tail)
      end.
  
  mutate_put(Object, BucketProps) ->
      Contents = riak_object:get_contents(Object),
      {ok, Modules} = ?MODULE:get(),
  
negative.code:     end,
      riak_core_metadata:put({riak_kv, mutators}, list, Modifier).
  
  %% @doc Remove a module from the mutator list.
  -spec unregister(Module :: atom()) -> 'ok'.
  unregister(Module) ->
      Modifier = fun
          (undefined) ->
  