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: 
  
  %% @spec parse_field(Key::binary(), Value::binary(), Types::data_type_defs()) ->
  %%         {ok, Value} | {error, Reason}.
  %%
  %% @doc Parse an index field. Return {ok, Value} on success, or
  %%      {error, Reason} if there is a problem. Reason is either
  %%      `{unknown_field_type, Field}` or `{field_parsing_failed,
  %%      {Field, Value}}.`
  parse_field(Key, Value, [Type|Types]) ->
      %% Run the regex to check if the key suffix matches this data
      %% type.
  
negative.code:     %% Now parse the fields, returning the result.
      parse_fields(IndexFields).
  
  %% @spec parse_fields([Field :: {Key :: binary(), Value :: binary()}]) ->
  %%       {ok, [{Field :: binary(), Value :: term()}]} | {error, [failure_reason()]}
  %% @doc Parse the provided index fields. Returns {ok, Fields} if the
  %%      parsing was successful, or {error, Reasons} if parsing
  %%      failed. Reason is either `{unknown_field_type, Field}' or
  %%      `{field_parsing_failed, {Field, Value}}.'
  parse_fields(IndexFields) ->
      %% Call parse_field on each field, and accumulate in ResultAcc or
      %% ErrorAcc, depending on whether the operation was successful.
  