<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def provider_of(iface):
 """ Create an invariant requiring the value provides the zope.interface ``iface``. """

    def check(value):
        return (
            iface.providedBy(value),
            u"{value!r} does not provide {interface!s}".format(
                value=value,
                interface=fullyQualifiedName(iface),
            ),
        )
    return check