anchor.diff:  %% it did before the FSM timeout bug was "fixed"
   -define(DEFAULT_TIMEOUT, infinity).
   
  -%% @type data_type_defs()  :: [data_type_def()].
  -%% @type data_type_def()   :: {MatchFunction::function(), ParseFunction::function()}.
  -%% @type failure_reason()  :: {unknown_field_type, Field :: binary()}
  +%% @type data_type_defs()  = [data_type_def()].
  +%% @type data_type_def()   = {MatchFunction :: function(), ParseFunction :: function()}.
  +%% @type failure_reason()  = {unknown_field_type, Field :: binary()}
   %%                          | {field_parsing_failed, {Field :: binary(), Value :: binary()}}.
   
  -%% @type bucketname()      :: binary().
  -%% @type index_field()     :: binary().
  -%% @type index_value()     :: binary() | integer().
  -%% @type query_element()   :: {eq,    index_field(), [index_value()]},
  -%%                         :: {range, index_field(), [index_value(), index_value()}
  +%% @type bucketname()      = binary().
  +%% @type index_field()     = binary().
  +%% @type index_value()     = binary() | integer().
  +%% @type query_element()   = {eq,    index_field(), index_value()} |
  +%%                           {range, index_field(), index_value(), index_value()}
   
   -type query_def() :: {ok, term()} | {error, term()} | {term(), {error, term()}}.
   -export_type([query_def/0]).
  
positive.code:     {ok, Bucket, ReqId}.
  
  %% @spec parse_object_hook(riak_object:riak_object()) ->
  %%         riak_object:riak_object() | {fail, [failure_reason()]}.
  %%
  %% @doc Parse the index fields stored in object metadata. Conforms to
  %%      the pre-commit hook interface. Return the new object with
  %%      parsed fields stuffed into the matadata if validation was
  %%      successful, or {fail, [Reasons]} if validation failed. Reason
  %%      is either `{unknown_field_type, Field}` or
  %%      `{field_parsing_failed, {Field, Value}}.`
  parse_object_hook(RObj) ->
      %% Ensure that the object only has a single metadata, or fail
      %% loudly.
  
negative.code:     end.
  
  %% @spec parse_object(riak_object:riak_object()) -> {ok, [{Field::binary(), Val :: term()}]}
  %%                                                | {error, [failure_reason()]}
  %% @doc Pull out index fields stored in the metadata of the provided
  %%      Riak Object. Parse the fields, and return {ok, [{Field,
  %%      Value}]} if successful, or {error, [Reasons]} on error. Reason
  %%      is either `{unknown_field_type, Field}' or
  %%      `{field_parsing_failed, {Field, Value}}.'
  parse_object(RObj) ->
      %% For each object metadata, pull out any IndexFields. This could
      %% be called on a write with siblings, so we need to examine *all*
  