I'm sorry, but I'm not sure, what behavior is expected in this case?
Right now the following logic was implemented:
"we trying to set an element inside an array, but we've got a non-integer path item
("nonsense" in this particular case), so we're going to add a new element at the end of array by default"
If it's wrong, should we refuse to perform such kind of operations, or should we replace
"vehicle_type": ["car", "van"]
to
"vehicle_type: {"nonsense": "motorcycle"}
?