TIL: #Python generators and zips are hashable but mutable. The hashcode doesn't include the state (which can be modified by calling next).
>>> z=zip([1, 2, 3], [4, 5, 6])
>>> id(z)
4477009472
>>> next(z)
(1, 4)
>>> id(z)
4477009472
@ellisvalentiner I was just staring at this diagram I drew a while ago and thought, "Wait, how can generators and zips be hashable?"