Because we create response classes for any query, we can't catch this bug at compile time. The next best thing is to detect this and throw an exception so that it is more likely to be caught quickly during testing.
We would like to be able to write some common code that takes values from a response object and sets them on an input object, which will need a way to detect if a field has been set. This could be done by having a has field method.