5 The call (factorial 5) will never call 'unless' and will be recursively call 'factorial' for ever. 'n' goes
6 negative and the factorial won't notice it, as it will never get to evaluate the function body of `unless'.
8 It will work in a normal order language because none of the arguments of 'unless' are evaluated until
12 (define (unless predicate if-exp else-exp)
19 (* n (factorial (- n 1)))