Exercise 4.27. Suppose we type in the following definitions to the lazy evaluator: (define count 0) (define (id x) (set! count (+ count 1)) x) Give the missing values in the following sequence of interactions, and explain your answers. (define w (id (id 10))) ;;; L-Eval input: count ;;; L-Eval value: ;;; L-Eval input: w ;;; L-Eval value: ;;; L-Eval input: count ;;; L-Eval value: ———————————————————————————————————————————————————————————————————————— (define w (id (id 10))) ;;; L-Eval input: count ;;; L-Eval value: 0 Count is still 0 here because (id (id 10)) was dropped into a thunk which has not yet been forced, and id has not yet been called. ;;; L-Eval input: w ;;; L-Eval value: 10 Now that the value of w is being printed to the screen, the evaluator must force it, which calls id (and increments count) twice. ;;; L-Eval input: count ;;; L-Eval value: 2