A QueryGenerator might return the same page, because not all data was returned in the first request. When then the second request comes in it contains the same page with additional information. We should only return a single Page object, containing all properties (i.e. from both requests).
I stumbled across this when I was searching for the files with the same hash:
>>> import pywikibot >>> s = pywikibot.Site('commons', 'commons') >>> h = '1fd33cb7c6163260585093846174886af2733cd6' >>> list(s.allimages(sha1=h)) [FilePage(b'File:Star empty.svg'), FilePage(b'File:Star empty.svg')]