with-fn-validation does the right thing after an exception