          ([], [])
      ]
      invalid_inputs = [
          ('not a list', ['Expected a list of items but got type "str".']),
          ([1, 2, 'error'], ['A valid integer is required.']),
          ({'one': 'two'}, ['Expected a list of items but got type "dict".'])
      ]
      outputs = [
          ([1, 2, 3], [1, 2, 3]),
          (['1', '2', '3'], [1, 2, 3])
 
</s> remove         ({'a': 1, 'b': None}, ['This field may not be null.']),
 </s> add         ({'a': 1, 'b': None, 'c': None}, {'b': ['This field may not be null.'], 'c': ['This field may not be null.']}), </s> remove     Values for `ListField` with CharField as child.
 </s> add     Values for `DictField` with CharField as child. </s> remove     Values for `ListField` with allow_null CharField as child.
 </s> add     Values for `DictField` with allow_null CharField as child. </s> remove     Values for `ListField` with no `child` argument.
 </s> add     Values for `DictField` with no `child` argument.
        ([1, 2, 'error', 'error'], {2: ['A valid integer is required.'], 3: ['A valid integer is required.']}),
          ([], [])
      ]
      invalid_inputs = [
          ('not a list', ['Expected a list of items but got type "str".']),
        ([1, 2, 'error', 'error'], {2: ['A valid integer is required.'], 3: ['A valid integer is required.']}),
          ({'one': 'two'}, ['Expected a list of items but got type "dict".'])
      ]
      outputs = [
          ([1, 2, 3], [1, 2, 3]),
          (['1', '2', '3'], [1, 2, 3])
keep keep keep keep replace keep keep keep keep keep
 Improve composite field child errors (#5655)

* Fixup DictField test descriptions

* Nest ListField/DictField errors under the idx/key

* Add nested ListField/DictField tests 
tests/test_fields.py