anchor.diff:  %% Precommit hook for riak k/v and search integration.  Executes
   %% the desired mapping on the riak object to produce a search
   %% document to store in riak search.
  -%%
  --spec precommit(riak_object()) -> {fail, any()} | riak_object().
  +-spec precommit(obj()) -> {fail, any()} | obj().
   precommit(RiakObject) ->
       Extractor = get_extractor(RiakObject),
       try
  
positive.code:             IdxDoc
      end.
   
  -spec make_index(riak_object()) -> binary().
  make_index(RiakObject) ->
      riak_object:bucket(RiakObject).
  
  -spec make_docid(riak_object()) -> binary().
  make_docid(RiakObject) ->
      riak_object:key(RiakObject).
      
  %% Run the extraction function against the RiakObject to get a list of
  %% search fields and data
  -spec run_extract(riak_object(), string(), extractdef()) -> search_fields().
  run_extract(RiakObject, DefaultField, {M, F, A}) ->
      M:F(RiakObject, DefaultField, A);
  run_extract(RiakObject, DefaultField, {F, A}) ->
  
negative.code: %%
  %% Index the provided riak object and return ok on success.
  %%
  -spec index_object(obj(), extractdef()) -> ok.
  index_object(RiakObject, Extractor) ->
      %% Set up
      {ok, RiakClient} = riak:local_client(),
  