Thanks to the introduction of sum types (disjoint union) in the last lecture, we
are now in a position to gain a deeper understanding of evaluation
-order by reasoning explicitly about evaluation by writing a program
-that evaluates terms.
+order by writing a program that allows us to reasoning explicitly about evaluation.
One thing we'll see is that it is all too easy for the evaluation
order properties of an evaluator to depend on the evaluation order