async def _query_types(self, paths: List[Path], socket_path: Path) -> Optional[Dict[(Path, LocationTypeLookup)]]:
    path_string = ', '.join((f"'{path}'" for path in paths))
    query_text = f'types({path_string})'
    query_types_response = (await self._query_and_interpret_response(query_text, socket_path, QueryTypesResponse))
    if (query_types_response is None):
        return None
    return {Path(path_type_info.path): path_type_info.get_location_type_lookup() for path_type_info in query_types_response.response}
async def _query_types(self, paths: List[Path], socket_path: Path) -> Optional[Dict[(Path, LocationTypeLookup)]]:
    path_string = ', '.join((f"'{path}'" for path in paths))
    query_text = f'types({path_string})'
    query_types_response = (await self._query_and_interpret_response(query_text, socket_path, QueryTypesResponse))
    if (query_types_response is None):
        return None
    return {Path(path_type_info.path): path_type_info.get_location_type_lookup() for path_type_info in query_types_response.response}