(define (square-tree tree) (cond ((null? tree) '()) ((not (pair? tree)) (square tree)) (else (cons (square-tree (car tree)) (square-tree (cdr tree)))))) ; 1 ]=> (square-tree ; (list 1 ; (list 2 (list 3 4) 5) ; (list 6 7))) ; ; ;Value: (1 (4 (9 16) 25) (36 49)) ; Alternative implementation (define (square-tree tree) (if (number? tree) (square tree) (map square-tree tree)))