# SICP Solutions

### Section - 2.5 - Systems with Generic Operations

#### Exercise 2.89

I got something interesting to learn here. The =zero? procedure I implemented for polynomial in solution 2.87 was not working correctly!. Because I was using internal representation of the term-list in =zero? implementation(iterating it using car and cadr - inside list-and). The lesson learned is the code/procedures which are external to term-list api shoud not use the internal representation. Well, it seems obvious to not do such bad things :)

Here are the required changes:

And here goes the new =zero? implementation:

Test: