1. Jill tells Jack that he should now remove the current implementation of the __iter__ method from the Array class, if it’s really behaving like a list. Explain why this is a good suggestion. Also explain how the __str__ method should be modified at this point.

2. A Matrix class can be used to perform the some of the operations found in linear algebra, such as matrix arithmetic. Develop a Matrix class that uses the built-in operators for arithmetic in a manner similar to the Rational number class discussed in Chapter 8. The Matrix class should extend the Grid class.

The next four projects ask you to define some functions for manipulating linked structures. You should use the Node and TwoWayNode classes, as defined in this chapter. Create a tester module that contains your function definitions and your code for testing them.