(define factorial (lambda (x) (if (< x 0) (log-error 'Factorial 'does 'not 'accept 'negative 'numbers) (if (<= x 1) 1 (* x (factorial (- x 1)))))))