instead of custom exception can pass in validationResult ie .orReturnValidationResult(ValidationResult.BAD_EMAIL),
and .validate(ValidationResult.SUCCESS). Will return validationResult upon completion
validationResult is some enum
extra :
.validate(ValidationResult.SUCCESS, IllegalStateException::new)
can pass in exception which will throw exception with validationResult in exception message if validation fails