Chez Scheme Transcript [Fri Mar 18 13:59:45 2011] > (define sum (lambda (ls) (list-recur ls 0 +))) > (sum '(3 4 5)) 12 > (define product (lambda (ls) (list-recur ls 1 *))) > (product '(3 4 5)) 60 > (define length (lambda (ls) (list-recur ls 0 (lambda (x y) (+ 1 y))))) > (length '(3 5 6 7)) 4 > (foo '(a b c d)) (a b c d) > (goo '(2 3 4 5) (lambda (x) (+ 2 x))) Error: variable goo is not bound. Type (debug) to enter the debugger. > (boo '(2 3 4 5) (lambda (x) (+ 2 x))) (4 5 6 7) > (member-item 4 '(3 4 5 6 4 2 4)) 3 > (define sum (list-recur-cool + 0)) Error: variable list-recur-cool is not bound. Type (debug) to enter the debugger. > (rl) > (define sum (list-recur-cool + 0)) > (sum '(3 4 5)) 12 > sum # > (transcript-off)