(define sum (lambda (lst) (if (null? lst) 0 (+ (car lst) (sum (cdr lst)))))) (define integers-from-to (lambda (low high) (if (> low high) '() (cons low (integers-from-to (+ 1 low) high))))) (define integers-from-to ; faulty version (lambda (low high) (define iter (lambda (low lst) (if (> low high) lst (iter (+ 1 low) (cons low lst))))) (iter low '()))) (define in? (lambda (elt lst) (cond ((null? lst) #f) ((equal? (car lst) elt) #t) (else (in? elt (cdr lst)))))) (define position-of-in (lambda (elt lst) (define iter (lambda (lst acc) (if (in? elt lst) (if (equal? elt (car lst)) acc (iter (cdr lst) (+ 1 acc))) (error "BK error in position-in, elt not in list" elt lst)))) (iter lst 0)))