code: def Invalid(self, message, expected):
          
          def InvalidPartial(provided, path=None, **info):
              """ Create an Invalid exception
  
              :type provided: unicode
              :type path: list|None
              :rtype: Invalid
              """
              return Invalid(
                  message,
                  expected, #six.text_type(expected),  # -- must be unicode
                  provided, #six.text_type(provided),  # -- must be unicode
                  self.path + (path or []),
                  self.schema,
                  **info
              )
          return InvalidPartial
docs: Helper for Invalid errors.
  
          Typical use:
  
          err_type = self.Invalid(_(u'Message'), self.name)
          raise err_type(<provided-value>)
  
          Note: `provided` and `expected` are unicode-typecasted automatically
  
          :type message: unicode
          :type expected: unicode