QueryResult automatically sets the result type
QueryResponse stores its basic information in attributes, and optional data in an extra Map