Allows the passed in validator to be nullable
Validator nullable(Validator validator) { return (value) { if (value == null) return Result.valid; return validator(value); }; }