Evaluator primitives & exercise 4.2