The solver base class sets the default value of correctness to 0 rather than None.
This makes it really annoying to debug if you incorrectly set the correctness value in a custom solver.
In initial versions, it had a default value of None, so the switch to 0 may have a good reason.
Let me know if this has an intended reason, or if I can go ahead and make a PR changing it back to how it was.