demon evaluator who custom-picked the evaluation order to make things maximally
bad for you could ensure that all the semantically unnecessary computations got
evaluated anyway. We don't yet know any way to prevent that. Later, we'll see
-ways to *semantically guarantee* one evaluation order rather than another. Of
+ways to *guarantee* one evaluation order rather than another. Of
course, in any real computing environment you'll know in advance that you're
dealing with a fixed evaluation order and you'll be able to program efficiently
around that.