Basic Ideas --- Constructors Evaluation of Cons[expl, expr] in cbv semantics evaluate expl -> l' evaluate expr -> r' make Cons[l',r'] Can we change this? Constructors are just boxes to hold values If there is no side effects, evaluation order does not matter