allow passing querydata as an object (it will get cast to an array)

very tiny performance hit because arrays are getting cast to arrays

for your review, @funkatron