(I noticed this while working on #1069)
$ cat input.tzng
#0:record[r1:record[a:array[string]]]
0:[[[foo;]]]
#1:record[r1:array[record[r2:string]]]
1:[[[foo;]]]
$ zq -t "foo" input.tzng
#0:record[r1:record[a:array[string]]]
0:[[[foo;]]]
Both records should match, but only the first one does. It looks like (*fieldIter).Next() needs to step into arrays.