static Result AtLeastOneWithSubject(object subject, params Func<dynamic, Result>[] cases) { var result = new Result{Success = false}; foreach (var check in cases) { result.Or(check(That(subject))); } return result; }
static Result AtLeastOneWithStems(IEnumerable<Check> subjects, params Func<dynamic, Result>[] cases) { var result = new Result{Success = false}; foreach (var subject in subjects) { foreach (var check in cases) { result.Or(check(subject)); } } return result; }