compare blocks by location instead of bare equality