Experimental

I'm wondering if it's ok to not throw an exception if the onError callback is run. Should that depend on what the onError callback does? What if onError just does some cleanup, but then wants to throw the CouldNotSatisfy error again (so it has the correct stack)?