we should really compare with the interface we are iterating