Ensure that no-op operations don't fail with constraint violations errors

This forces exhaustive evaluation of an iterator that was previously only checked to see if it contained anything. I can't see any other way of doing it, but I'd appreciate a view from someone who has a better idea of the performance implications than me.