Currently, if an exception is thrown by a ProblemSpace class
being tested, the engine resets itself and stops testing,
passing the exception on to the caller. It may be possible to
reset to the beginning of that Generation, though there are a
few problems with such a scheme. For one, the deterministic
nature of the Random class would be lost, meaning that the
Random instance would need to be saved (cloned?,
serialized?) at the start of each Generation test. For
another, preserving determinism would most likely preserve
the state that led to the exception. If someone has a
workable solution, I’m all ears :)