All the questions should use recursive solutions and should not use either side-effects (i.e., set!) or iteration. Deduct the bulk of the points for using either construct.

- (
**6 points**) - (
**10 points**) I don't care whether or not the function is tail-recursive.- Deduct 1 point for not converting the result to a floating point number.
- Deduct 1 point for not returning a reasonable value, e.g., 0, for an empty list
- Make sure that a single element list works properly (deduct 1 point for not working properly)
- Use your judgment in awarding partial credit

- (
**10 points**)- Verify that the solution works on empty lists, one element lists, and arbitrary length lists (-1 point each for not working with empty lists and one element lists)
- Scan the solution and make sure that it really uses tail recursion. Deduct the full 10 points for not using tail recursion.
- Use your judgment in awarding partial credit

- (
**15 points**): Things to check- empty list
- single element list
- multi-element list

- (
**15 points**): Things to check:- empty lists
- one element lists
- arbitrary length lists
- lists in which none of the elements passes the filter
- lists in which all the elements pass the filter

- (
**15 points**): Use your judgment in awarding partial credit for all three parts.- (
**7 points**) - (
**4 points**) - (
**4 points**)

- (
- (
**15 points**): Check the following cases:- (
**1 point**) Empty tree (i.e., empty list) - (
**2 points**) Tree with single node (i.e., one element list) - Trees that contain a subtree with a single child
- Trees that contain a subtree with an arbitrary number of children
- Have at least a couple cases where the two trees have the same set of leaves, but different structures

- (
- (
**14 points**): Make sure that they create two parts and that they use the delay and force constructs. Then run their printFib function and verify that it generates the first n fibonacci numbers correctly, where n is some number that you choose.