<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def Invalid(self, message, expected):
 """ 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 """

        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