Debugging Strategy
Don't throw away your state when an error occurs
Think abstractly to locate a module that is failing
Examine only modules that fail
Errors are more common in connecting modules together than in individual modules
Jim Miller