async def _query_and_interpret_response(self, query_text: str, socket_path: Path, response_type: Type[_T]) -> Optional[_T]:
    query_response = (await self._query(query_text, socket_path))
    if (query_response is None):
        return None
    else:
        return _interpret_response(query_response, response_type)
async def _query_and_interpret_response(self, query_text: str, socket_path: Path, response_type: Type[_T]) -> Optional[_T]:
    query_response = (await self._query(query_text, socket_path))
    if (query_response is None):
        return None
    else:
        return _interpret_response(query_response, response_type)