anchor.diff:      get_text_field_values_obj(Props, TAcc, []);
   
   get_text_field_values(Values, TAcc) when is_list(Values) ->
  -    IndexArrayLengths = TAcc#tacc.index_array_lengths,
       NewPath = ["[]" | TAcc#tacc.path],
       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, [])
  -    end;
  +    % 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(Bin, TAcc) when is_binary(Bin) ->
       make_text_field(TAcc, <<"string">>, Bin);
  
positive.code:         {Opts}->
              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) ->
  
negative.code: 
  
  -record(tacc, {
      fields = all_fields,
      path = []
  }).
  