(define g? (lambda (a T) (if (eq? a (car T)) #t #f ) ) ) (define f2 (lambda (a L) (cond ((null? L) L) ((g? a (car L)) (car (cdr (car L)))) (else (f2 a (cdr L))) ) ) ) (define f3 (lambda (L) (if (null? (cdr L)) (list (car L)) (cons (car L) (f3 (cdr (cdr L)))) ) ) ) (define attach (lambda (a b) (list (list a b)) ) ) (define f4 (lambda (L J) (if (null? (cdr L)) (attach (car L) (1+ J)) (append (attach (car L) (1+ J)) (f4 (cdr L) (1+ J))) ) ) )