Define a procedure square-tree analogous to the square-list procedure of exercise 2.21. That is, square-list should behave as follows

Define square-tree both directly (i.e., without using any higher-order procedures) and also by using map and recursion