add a non-letrec-requiring factorial impl

(tested in Guile Scheme,
commenting out the definitions of + etc. to 0
and using let* not letrec)
Try a letrec implementation.