docs: def NOT(fn):
      """ Reverse the effect of a chainable validator function """
      @chainable
      def validator(v):
          try:
              fn(v)
          except ValueError:
              return v
          raise ValueError('invalid')
      return validator