When there is no match at a given path, numeric keys are assumed to be strings.
To create an array '+' must be used.
e.g: yq n thing[+].cat fred
will create an array under thing, whereas
yq n thing[0].cat fred
will create a map under thing, with a key '0'