public ValidationResult Validate(R value) { return(rule(value) ? ValidationResult.Success : ValidationResult.Fail()); }