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

This forces evaluation of an iterator that was previously not evaluated. 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.