Didn't mark the test as done because the duplication had not been eliminated, choosing to work forward instead of backward to realize the implementation
Wrote a test to force the creation of an object we expected to need later (Sum)
Implemented code with casts in one place, then moved the code where it belonged once the tests were running
Tested for and implemented a Bank.reduce for the Money case using type checking
Introduced polymorphism to eliminate explicit class checking