anchor.diff:  get_text_field_values(Values, TAcc) when is_list(Values) ->
       IndexArrayLengths = TAcc#tacc.index_array_lengths,
       NewPath = ["[]" | TAcc#tacc.path],
  -    NewTAcc = TAcc#tacc{index_array_lengths = IndexArrayLengths, path = NewPath},
  +    NewTAcc = TAcc#tacc{path = NewPath},
       case IndexArrayLengths of 
           true ->
               % We bypass make_text_field and directly call make_text_field_name
               % because the length field name is not part of the path.
               LengthFieldName = make_text_field_name(NewTAcc#tacc.path, <<"length">>),
               LengthField = [{LengthFieldName, <<"length">>, length(Values)}],
  -            get_text_field_values_arr(Values, NewTAcc,LengthField);
  +            get_text_field_values_arr(Values, NewTAcc, LengthField);
  +
           _ ->
  -            get_text_field_values_arr(Values, NewTAcc,[])
  +            get_text_field_values_arr(Values, NewTAcc, [])
       end;
   get_text_field_values(Bin, TAcc) when is_binary(Bin) ->
       make_text_field(TAcc, <<"string">>, Bin);
  
positive.code:             couch_util:get_value(<<"enabled">>, Opts, true)
      end.
  
  get_index_array_lengths(Props) ->
      couch_util:get_value(<<"index_array_lengths">>, Props, true).
  
  add_default_text_field(Fields) ->
      DefaultFields = add_default_text_field(Fields, []),
  
negative.code: get_text_field_values_obj([], _, FAcc) ->
      FAcc;
  get_text_field_values_obj([{Key, Val} | Rest], TAcc, FAcc) ->
      NewPath = [Key | TAcc#tacc.path],
      NewTAcc = TAcc#tacc{path = NewPath},
      Fields = get_text_field_values(Val, NewTAcc),
      get_text_field_values_obj(Rest, TAcc, Fields ++ FAcc).
  
  