So, it looks like a nil from any of those 'ops' functions will always roll up to here:

https://github.com/shakedown/puppetdb/blob/36a49636f49fbaae58f6a70eb31e8451d3ab1963/src/com/puppetlabs/puppetdb/query.clj#L81

So, one advantage to doing it that way is that we'll get a consistent exception across all endpoints without having to copy and paste a bunch of boilerplate.

That seems like it's probably worthwhile, IMO... but that said, I don't have any problem with explicitly throwing from in this function if that's preferred.