Experimental

I think there is a huge difference between an error that occurs because a constraint could not be satisfied and an error internally inside the solver caused e.g. by invalid inputs. So the CouldNotSatisfyError was added in order to distinguish those two cases. But I definitely see your point.

Any suggestions, because not every error is a CouldNotSatisfyError?